identity-toolkit-ruby-client 0.1.0 → 1.0.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c99e7fd2191547c175870cb9656f018696d29a94
4
- data.tar.gz: 6eb020bd9c8d326ca1790c175ce703528a67e1f1
3
+ metadata.gz: 2f704bf2aa7be011903fd425170f12aaa67577b6
4
+ data.tar.gz: d983143a7985d766db8b915c64a9997dc3c691fa
5
5
  SHA512:
6
- metadata.gz: 5a2657585eef66bde0f66fb1e18af4ccef23ff5b7829d094a6e6a2fe60dcbc315ba7bb2930aaf546f5c2a9adde3f72eaba39696f44c3e72660c4ffbedfe93d14
7
- data.tar.gz: 424ace8fdd5c630d0767ac4d31a2f360c468563532b8c686d087e0e79105b1d94d26240ad6795bb00eb1ce43282d7bf22064b75828cea2716534ee6a434f197a
6
+ metadata.gz: d990ca18b3679a3d53ed9b9d352cb97e4e1c7d90babff6421d91775d0fa7a0d87a3bec6587237ae73b04c207d66f4f890108c582293e1305115140528d83f295
7
+ data.tar.gz: 7372e91455d36a8ab393eb31b01e5510289ac7f32771bcf80a7b189280df51f29b06a483dddb1d782745a20224ebb3f7bc4b5d476b4b200377fb97b62da8487f
data/README.rdoc CHANGED
@@ -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 identity_toolkit_ruby_client
7
+ gem install gitkit-ruby-client
8
8
 
9
9
  === Examples
10
10
 
data/lib/gitkit_client.rb CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  require 'addressable/uri'
16
16
  require 'jwt'
17
- require 'json'
17
+ require 'multi_json'
18
18
  require 'rpc_helper'
19
19
  require 'uri'
20
20
 
@@ -26,7 +26,7 @@ module GitkitLib
26
26
  #
27
27
  # @param [String] file file name of the json-format config
28
28
  def self.create_from_config_file(file)
29
- config = JSON.parse File.open(file, 'rb') { |io| io.read }
29
+ config = MultiJson.load File.open(file, 'rb') { |io| io.read }
30
30
  p12key = File.open(config['serviceAccountPrivateKeyFile'], 'rb') {
31
31
  |io| io.read }
32
32
  new(
@@ -42,7 +42,7 @@ module GitkitLib
42
42
  # @param [String] client_id Google oauth2 web client id of this site
43
43
  # @param [String] service_account_email Google service account email
44
44
  # @param [String] service_account_key Google service account private p12 key
45
- # @param [String] widget_url url to host the Gitkit widget
45
+ # @param [String] widget_url full url to host the Gitkit widget
46
46
  # @param [String] server_api_key server-side Google API key
47
47
  def initialize(client_id, service_account_email, service_account_key,
48
48
  widget_url, server_api_key = nil)
@@ -70,7 +70,7 @@ module GitkitLib
70
70
  [key, OpenSSL::X509::Certificate.new(cert)]}]
71
71
  end
72
72
  @certificates[key_id].public_key }
73
- parsed_token = JWT.decode(token_string, nil, true, &key_finder).first
73
+ parsed_token, _ = JWT.decode(token_string, nil, true, &key_finder)
74
74
  # check expiration time
75
75
  if Time.new.to_i > parsed_token['exp']
76
76
  return nil, 'token expired'
@@ -147,7 +147,6 @@ module GitkitLib
147
147
 
148
148
  # Get one-time out-of-band code for ResetPassword/ChangeEmail request
149
149
  #
150
- # @param [String] full_url the full URL of incoming request
151
150
  # @param [Hash{String=>String}] param dict of HTTP POST params
152
151
  # @param [String] user_ip end user's IP address
153
152
  # @param [String] gitkit_token the gitkit token if user logged in
@@ -158,11 +157,11 @@ module GitkitLib
158
157
  # action: OobAction
159
158
  # response_body: the http body to be returned
160
159
  # }
161
- def get_oob_result(full_url, param, user_ip, gitkit_token=nil)
160
+ def get_oob_result(param, user_ip, gitkit_token=nil)
162
161
  if param.has_key? 'action'
163
162
  begin
164
163
  if param['action'] == 'resetPassword'
165
- oob_link = build_oob_link(full_url,
164
+ oob_link = build_oob_link(
166
165
  password_reset_request(param, user_ip),
167
166
  param['action'])
168
167
  return password_reset_response(oob_link, param)
@@ -170,7 +169,7 @@ module GitkitLib
170
169
  unless gitkit_token
171
170
  return failure_msg('login is required')
172
171
  end
173
- oob_link = build_oob_link(full_url,
172
+ oob_link = build_oob_link(
174
173
  change_email_request(param, user_ip, gitkit_token),
175
174
  param['action'])
176
175
  return email_change_response(oob_link, param)
@@ -202,11 +201,10 @@ module GitkitLib
202
201
  }
203
202
  end
204
203
 
205
- def build_oob_link(full_url, param, mode)
204
+ def build_oob_link(param, mode)
206
205
  code = @rpc_helper.get_oob_code(param)
207
206
  if code
208
- oob_link = Addressable::URI.parse full_url
209
- oob_link.path = @widget_url
207
+ oob_link = Addressable::URI.parse @widget_url
210
208
  oob_link.query_values = { 'mode' => mode, 'oobCode' => code}
211
209
  return oob_link.to_s
212
210
  end
@@ -214,7 +212,7 @@ module GitkitLib
214
212
  end
215
213
 
216
214
  def failure_msg(msg)
217
- {:response_body => {'error' => msg}}.to_json
215
+ {:response_body => MultiJson.dump({'error' => msg})}
218
216
  end
219
217
 
220
218
  def email_change_response(oob_link, param)
@@ -223,7 +221,7 @@ module GitkitLib
223
221
  :newEmail => param['newEmail'],
224
222
  :oobLink => oob_link,
225
223
  :action => :CHANGE_EMAIL,
226
- :response_body => {'success' => true}.to_json
224
+ :response_body => MultiJson.dump({'success' => true})
227
225
  }
228
226
  end
229
227
 
@@ -232,7 +230,7 @@ module GitkitLib
232
230
  :email => param['email'],
233
231
  :oobLink => oob_link,
234
232
  :action => :RESET_PASSWORD,
235
- :response_body => {'success' => true}.to_json
233
+ :response_body => MultiJson.dump({'success' => true})
236
234
  }
237
235
  end
238
236
  end
data/lib/rpc_helper.rb CHANGED
@@ -13,7 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  require 'jwt'
16
- require 'json'
16
+ require 'multi_json'
17
17
  require 'faraday'
18
18
  require 'gitkit_client'
19
19
  require 'openssl'
@@ -137,7 +137,7 @@ module GitkitLib
137
137
  headers = {'Content-type' => 'application/x-www-form-urlencoded'}
138
138
  response = @connection.post(RpcHelper::TOKEN_ENDPOINT, post_body,
139
139
  headers)
140
- @access_token = JSON.parse(response.env[:body])['access_token']
140
+ @access_token = MultiJson.load(response.env[:body])['access_token']
141
141
  @token_issued_at = Time.new.to_i
142
142
  end
143
143
  @access_token
@@ -162,13 +162,13 @@ module GitkitLib
162
162
  # authenticated
163
163
  # @return <JSON> the Gitkit api response
164
164
  def invoke_gitkit_api(method, params, need_service_account=true)
165
- post_body = JSON.generate(params)
165
+ post_body = MultiJson.dump params
166
166
  headers = {'Content-type' => 'application/json'}
167
167
  if need_service_account
168
168
  @connection.authorization :Bearer, fetch_access_token
169
169
  end
170
170
  response = @connection.post(GITKIT_API_URL + method, post_body, headers)
171
- check_gitkit_error JSON.parse(response.env[:body])
171
+ check_gitkit_error MultiJson.load(response.env[:body])
172
172
  end
173
173
 
174
174
  # Download the Gitkit public certs
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: identity-toolkit-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jin Liu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-23 00:00:00.000000000 Z
11
+ date: 2014-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -77,8 +77,7 @@ files:
77
77
  - lib/gitkit_client.rb
78
78
  - lib/rpc_helper.rb
79
79
  homepage: https://developers.google.com/identity-toolkit/v3
80
- licenses:
81
- - Apache 2.0
80
+ licenses: []
82
81
  metadata: {}
83
82
  post_install_message:
84
83
  rdoc_options: []