identity-toolkit-ruby-client 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. data/README.rdoc +1 -1
  2. data/lib/gitkit_client.rb +25 -5
  3. metadata +25 -15
  4. checksums.yaml +0 -7
@@ -4,7 +4,7 @@ Google Identity Toolkit (Gitkit) ruby client library is for third party sites to
4
4
 
5
5
  === Installation
6
6
 
7
- gem install gitkit-ruby-client
7
+ gem install identity-toolkit-ruby-client
8
8
 
9
9
  === Examples
10
10
 
@@ -34,7 +34,8 @@ module GitkitLib
34
34
  config['serviceAccountEmail'],
35
35
  p12key,
36
36
  config['widgetUrl'],
37
- config['serverApiKey'])
37
+ config['serverApiKey'],
38
+ config['projectId'])
38
39
  end
39
40
 
40
41
  # Initializes a GitkitClient.
@@ -44,9 +45,14 @@ module GitkitLib
44
45
  # @param [String] service_account_key Google service account private p12 key
45
46
  # @param [String] widget_url full url to host the Gitkit widget
46
47
  # @param [String] server_api_key server-side Google API key
48
+ # @param [String] project_id Google developer console project id
47
49
  def initialize(client_id, service_account_email, service_account_key,
48
- widget_url, server_api_key = nil)
50
+ widget_url, server_api_key = nil, project_id = nil)
49
51
  @client_id = client_id
52
+ @project_id = project_id
53
+ if @project_id.nil? and @client_id.nil?
54
+ raise GitkitClientError, 'Missing projectId or clientId in server configuration.'
55
+ end
50
56
  @widget_url = widget_url
51
57
  @rpc_helper = RpcHelper.new(service_account_email, service_account_key,
52
58
  server_api_key)
@@ -76,10 +82,11 @@ module GitkitLib
76
82
  return nil, 'token expired'
77
83
  end
78
84
  # check audience
79
- if parsed_token['aud'] != @client_id
80
- return nil, 'audience mismatch'
85
+ if parsed_token['aud'] == @project_id or parsed_token['aud'] == @client_id
86
+ GitkitUser.parse_from_api_response parsed_token
87
+ else
88
+ return nil, "Gitkit token audience(#{parsed_token['aud']}) doesn't match projectId or clientId in server configuration"
81
89
  end
82
- GitkitUser.parse_from_api_response parsed_token
83
90
  rescue JWT::DecodeError => e
84
91
  return nil, e.message
85
92
  end
@@ -181,6 +188,19 @@ module GitkitLib
181
188
  failure_msg('unknown request type')
182
189
  end
183
190
 
191
+ # Get one-time code to verify user email
192
+ #
193
+ # @param [String] email end user's email to be verified
194
+ #
195
+ # @return [String] the generated link to be send to user's email
196
+ def get_email_verification_link(email)
197
+ param = {
198
+ 'email' => email,
199
+ 'requestType' => 'VERIFY_EMAIL'
200
+ }
201
+ build_oob_link(param, "verifyEmail")
202
+ end
203
+
184
204
  def password_reset_request(param, user_ip)
185
205
  {
186
206
  'email' => param['email'],
metadata CHANGED
@@ -1,69 +1,78 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: identity-toolkit-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Jin Liu
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-10-27 00:00:00.000000000 Z
12
+ date: 2015-12-14 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: addressable
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - ">="
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: 2.3.2
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - ">="
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: 2.3.2
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: faraday
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - ">="
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: 0.9.0
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - ">="
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: 0.9.0
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: multi_json
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - ">="
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: 1.0.0
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - ">="
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: 1.0.0
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: jwt
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - ">="
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: 1.0.0
62
70
  type: :runtime
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - ">="
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: 1.0.0
69
78
  description: Google Identity Toolkit Ruby client library
@@ -73,29 +82,30 @@ extensions: []
73
82
  extra_rdoc_files:
74
83
  - README.rdoc
75
84
  files:
76
- - README.rdoc
77
85
  - lib/gitkit_client.rb
78
86
  - lib/rpc_helper.rb
87
+ - README.rdoc
79
88
  homepage: https://developers.google.com/identity-toolkit/v3
80
89
  licenses: []
81
- metadata: {}
82
90
  post_install_message:
83
91
  rdoc_options: []
84
92
  require_paths:
85
93
  - lib
86
94
  required_ruby_version: !ruby/object:Gem::Requirement
95
+ none: false
87
96
  requirements:
88
- - - ">="
97
+ - - ! '>='
89
98
  - !ruby/object:Gem::Version
90
99
  version: '0'
91
100
  required_rubygems_version: !ruby/object:Gem::Requirement
101
+ none: false
92
102
  requirements:
93
- - - ">="
103
+ - - ! '>='
94
104
  - !ruby/object:Gem::Version
95
105
  version: '0'
96
106
  requirements: []
97
107
  rubyforge_project:
98
- rubygems_version: 2.2.2
108
+ rubygems_version: 1.8.23
99
109
  signing_key:
100
110
  specification_version: 4
101
111
  summary: Google Identity Toolkit Ruby client
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 2f704bf2aa7be011903fd425170f12aaa67577b6
4
- data.tar.gz: d983143a7985d766db8b915c64a9997dc3c691fa
5
- SHA512:
6
- metadata.gz: d990ca18b3679a3d53ed9b9d352cb97e4e1c7d90babff6421d91775d0fa7a0d87a3bec6587237ae73b04c207d66f4f890108c582293e1305115140528d83f295
7
- data.tar.gz: 7372e91455d36a8ab393eb31b01e5510289ac7f32771bcf80a7b189280df51f29b06a483dddb1d782745a20224ebb3f7bc4b5d476b4b200377fb97b62da8487f