identity-toolkit-ruby-client 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
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