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.
- data/README.rdoc +1 -1
- data/lib/gitkit_client.rb +25 -5
- metadata +25 -15
- checksums.yaml +0 -7
data/README.rdoc
CHANGED
data/lib/gitkit_client.rb
CHANGED
@@ -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']
|
80
|
-
|
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.
|
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:
|
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:
|
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
|