authing_ruby 1.0.9 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ca30daef35d2aa46bcc434a75810b5fd27a8760f3324f4878dbb8d81135d035
4
- data.tar.gz: 67304453872e3e5d430b2d0fc8db63f771a12bb01bb4171590c233c156d15bde
3
+ metadata.gz: aa6593330f870f1b2559fe53cbeb0ed09a06cff11a5c79ea728d328a57136f58
4
+ data.tar.gz: a037af3385879a07abb47ab49b23712944b0999ace92d9d291bc4a701d090eff
5
5
  SHA512:
6
- metadata.gz: 7c7fdc3e2738967b81a16e147a462e8caf995b880df92fbf6b33eec8e136624d31e07e355303f10b4bd451b52c480d7cb05bfdf66a4afe0c3b264e4a35f6d7d2
7
- data.tar.gz: c4f1e42b6c5f45456f5a98084bca6c467074fe9091e19df115262c81be8d263930e672d98c2a58826e01548ff7d00ce99d81317aab144447dfe8e6248fa03aa5
6
+ metadata.gz: fd1b2564b11854460730bafe77947659f0ef22b97ee5be871549882837eee2cea373f9fc7303843e044a22d37d93829a95c347c4a4e4216a484470337857dc51
7
+ data.tar.gz: cbb759903d06dbb5be96d472f32c713983efb56ad736460a4c880f898343fe99d4aaa63cbceefe073ef69cc2e7309c1c0667734f9af588cbcddf78cc295aa324
@@ -68,11 +68,10 @@ module AuthingRuby
68
68
  }
69
69
  }
70
70
  graphqlAPI = AuthingRuby::GraphQLAPI.new
71
- res = graphqlAPI.registerByEmail(@graphqlClient, variables)
72
- json = JSON.parse(res)
73
- user = json.dig('data', 'registerByEmail')
71
+ hash = graphqlAPI.registerByEmail(@graphqlClient, variables)
72
+ user = hash.dig('data', 'registerByEmail')
74
73
  return user if user
75
- return json
74
+ return hash
76
75
  end
77
76
 
78
77
  # 使用用户名注册
@@ -96,11 +95,10 @@ module AuthingRuby
96
95
  }
97
96
  }
98
97
  graphqlAPI = AuthingRuby::GraphQLAPI.new
99
- res = graphqlAPI.registerByUsername(@graphqlClient, variables)
100
- json = JSON.parse(res)
101
- user = json.dig('data', 'registerByUsername')
98
+ hash = graphqlAPI.registerByUsername(@graphqlClient, variables)
99
+ user = hash.dig('data', 'registerByUsername')
102
100
  return user if user
103
- return json
101
+ return hash
104
102
  end
105
103
 
106
104
  # 发送短信验证码
@@ -138,14 +136,10 @@ module AuthingRuby
138
136
  }
139
137
  }
140
138
  graphqlAPI = AuthingRuby::GraphQLAPI.new
141
- res = graphqlAPI.registerByPhoneCode(@graphqlClient, variables)
142
- if res.class.name == "String"
143
- json = JSON.parse(res)
144
- user = json.dig('data', 'registerByPhoneCode')
145
- return user if user
146
- return json
147
- end
148
- return res
139
+ hash = graphqlAPI.registerByPhoneCode(@graphqlClient, variables)
140
+ user = hash.dig('data', 'registerByPhoneCode')
141
+ return user if user
142
+ return hash
149
143
  end
150
144
 
151
145
  # 使用邮箱登录
@@ -166,14 +160,13 @@ module AuthingRuby
166
160
  }
167
161
  }
168
162
  graphqlAPI = AuthingRuby::GraphQLAPI.new
169
- res = graphqlAPI.loginByEmail(@graphqlClient, variables)
170
- json = JSON.parse(res)
171
- user = json.dig('data', 'loginByEmail')
163
+ hash = graphqlAPI.loginByEmail(@graphqlClient, variables)
164
+ user = hash.dig('data', 'loginByEmail')
172
165
  if user
173
166
  setCurrentUser(user);
174
167
  return user
175
168
  end
176
- return json
169
+ return hash
177
170
  end
178
171
 
179
172
  # 使用用户名登录
@@ -194,14 +187,13 @@ module AuthingRuby
194
187
  }
195
188
  }
196
189
  graphqlAPI = AuthingRuby::GraphQLAPI.new
197
- res = graphqlAPI.loginByUsername(@graphqlClient, variables)
198
- json = JSON.parse(res)
199
- user = json.dig('data', 'loginByUsername')
190
+ hash = graphqlAPI.loginByUsername(@graphqlClient, variables)
191
+ user = hash.dig('data', 'loginByUsername')
200
192
  if user
201
193
  setCurrentUser(user);
202
194
  return user
203
195
  end
204
- return json
196
+ return hash
205
197
  end
206
198
 
207
199
  # 使用手机号验证码登录
@@ -218,14 +210,13 @@ module AuthingRuby
218
210
  }
219
211
  }
220
212
  graphqlAPI = AuthingRuby::GraphQLAPI.new
221
- res = graphqlAPI.loginByPhoneCode(@graphqlClient, variables)
222
- json = JSON.parse(res)
223
- user = json.dig('data', 'loginByPhoneCode')
213
+ hash = graphqlAPI.loginByPhoneCode(@graphqlClient, variables)
214
+ user = hash.dig('data', 'loginByPhoneCode')
224
215
  if user
225
216
  setCurrentUser(user);
226
217
  return user
227
218
  end
228
- return json
219
+ return hash
229
220
  end
230
221
 
231
222
  # 使用手机号密码登录
@@ -245,14 +236,13 @@ module AuthingRuby
245
236
  }
246
237
  }
247
238
  graphqlAPI = AuthingRuby::GraphQLAPI.new
248
- res = graphqlAPI.loginByPhonePassword(@graphqlClient, variables)
249
- json = JSON.parse(res)
250
- user = json.dig('data', 'loginByPhonePassword')
239
+ hash = graphqlAPI.loginByPhonePassword(@graphqlClient, variables)
240
+ user = hash.dig('data', 'loginByPhonePassword')
251
241
  if user
252
242
  setCurrentUser(user);
253
243
  return user
254
244
  end
255
- return json
245
+ return hash
256
246
  end
257
247
 
258
248
  # 发送邮件
@@ -265,11 +255,10 @@ module AuthingRuby
265
255
  "scene": scene,
266
256
  }
267
257
  graphqlAPI = AuthingRuby::GraphQLAPI.new
268
- res = graphqlAPI.sendEmail(@graphqlClient, variables)
269
- json = JSON.parse(res)
270
- data = json.dig('data')
258
+ hash = graphqlAPI.sendEmail(@graphqlClient, variables)
259
+ data = hash.dig('data')
271
260
  return data if data
272
- return json
261
+ return hash
273
262
  # {"sendEmail":{"message":"","code":200}}
274
263
  end
275
264
 
@@ -277,14 +266,13 @@ module AuthingRuby
277
266
  # 返回:用户信息
278
267
  def getCurrentUser()
279
268
  graphqlAPI = AuthingRuby::GraphQLAPI.new
280
- res = graphqlAPI.getCurrentUser(@graphqlClient, @tokenProvider, {})
281
- json = JSON.parse(res)
282
- user = json.dig("data", "user")
269
+ hash = graphqlAPI.getCurrentUser(@graphqlClient, @tokenProvider, {})
270
+ user = hash.dig("data", "user")
283
271
  if user
284
272
  setCurrentUser(user)
285
273
  return user
286
274
  else
287
- return json
275
+ return hash
288
276
  end
289
277
  end
290
278
 
@@ -609,9 +597,8 @@ module AuthingRuby
609
597
  "id": userId,
610
598
  "input": updates
611
599
  }
612
- res = graphqlAPI.updateUser(@graphqlClient, @tokenProvider, variables)
613
- json = JSON.parse(res)
614
- updated_user = json.dig('data', 'updateUser')
600
+ hash = graphqlAPI.updateUser(@graphqlClient, @tokenProvider, variables)
601
+ updated_user = hash.dig('data', 'updateUser')
615
602
  if updated_user
616
603
  # 如果更新成功,返回更新后的用户
617
604
  setCurrentUser(updated_user)
@@ -619,7 +606,7 @@ module AuthingRuby
619
606
  else
620
607
  # 如果更新失败,返回原结果
621
608
  # {"errors"=>[{"message"=>{"code"=>2020, "message"=>"尚未登录,无访问权限"}, "locations"=>[{"line"=>2, "column"=>3}], "path"=>["updateUser"], "extensions"=>{"code"=>"INTERNAL_SERVER_ERROR"}}], "data"=>nil}
622
- return json
609
+ return hash
623
610
  end
624
611
  end
625
612
 
@@ -661,18 +648,16 @@ module AuthingRuby
661
648
  def checkPasswordStrength(password)
662
649
  graphqlAPI = AuthingRuby::GraphQLAPI.new
663
650
  variables = { "password": password }
664
- res = graphqlAPI.checkPasswordStrength(@graphqlClient, @tokenProvider, variables)
665
- json = JSON.parse(res)
666
- return json.dig("data", "checkPasswordStrength")
651
+ hash = graphqlAPI.checkPasswordStrength(@graphqlClient, @tokenProvider, variables)
652
+ return hash.dig("data", "checkPasswordStrength")
667
653
  end
668
654
 
669
655
  # 检测 Token 登录状态
670
656
  def checkLoginStatus(token)
671
657
  graphqlAPI = AuthingRuby::GraphQLAPI.new
672
658
  variables = { "token": token }
673
- res = graphqlAPI.checkLoginStatus(@graphqlClient, @tokenProvider, variables)
674
- json = JSON.parse(res)
675
- return json.dig("data", "checkLoginStatus")
659
+ hash = graphqlAPI.checkLoginStatus(@graphqlClient, @tokenProvider, variables)
660
+ return hash.dig("data", "checkLoginStatus")
676
661
  end
677
662
 
678
663
  # 更新用户密码
@@ -685,9 +670,8 @@ module AuthingRuby
685
670
  "oldPassword": oldPasswordEncrypted,
686
671
  }
687
672
  graphqlAPI = AuthingRuby::GraphQLAPI.new
688
- res = graphqlAPI.updatePassword(@graphqlClient, @tokenProvider, variables)
689
- json = JSON.parse(res)
690
- return json.dig("data", "updatePassword")
673
+ hash = graphqlAPI.updatePassword(@graphqlClient, @tokenProvider, variables)
674
+ return hash.dig("data", "updatePassword")
691
675
  end
692
676
 
693
677
  # 绑定手机号
@@ -698,14 +682,13 @@ module AuthingRuby
698
682
  "phone": phone,
699
683
  "phoneCode": phoneCode,
700
684
  }
701
- res = graphqlAPI.bindPhone(@graphqlClient, @tokenProvider, variables)
702
- json = JSON.parse(res)
703
- user = json.dig("data", "bindPhone")
685
+ hash = graphqlAPI.bindPhone(@graphqlClient, @tokenProvider, variables)
686
+ user = hash.dig("data", "bindPhone")
704
687
  if user
705
688
  setCurrentUser(user);
706
689
  return user;
707
690
  else
708
- return json
691
+ return hash
709
692
  end
710
693
  end
711
694
 
@@ -720,11 +703,10 @@ module AuthingRuby
720
703
  "newPassword": newPasswordEncrypted,
721
704
  }
722
705
  graphqlAPI = AuthingRuby::GraphQLAPI.new
723
- resp = graphqlAPI.resetPassword(@graphqlClient, @tokenProvider, variables)
724
- json = JSON.parse(resp)
725
- result = json.dig("data", "resetPassword") # {"message":"重置密码成功!","code":200}
706
+ hash = graphqlAPI.resetPassword(@graphqlClient, @tokenProvider, variables)
707
+ result = hash.dig("data", "resetPassword") # {"message":"重置密码成功!","code":200}
726
708
  return result if result
727
- return json
709
+ return hash
728
710
  end
729
711
 
730
712
  def generateCodeChallenge()
@@ -14,9 +14,8 @@ module AuthingRuby
14
14
  @options = options
15
15
  end
16
16
 
17
- # 发个请求
18
- # 如果成功,返回 String
19
- # 如果失败,返回 Hash
17
+ # 发请求
18
+ # 成功或失败都返回 Hash
20
19
  def request(options)
21
20
  headers = {
22
21
  'content-type': 'application/json',
@@ -42,20 +41,19 @@ module AuthingRuby
42
41
  # puts response.body.to_s
43
42
  # puts response.body.to_s.class.name # String
44
43
 
45
- json = JSON.parse(response.body.to_s)
44
+ hash = JSON.parse(response.body.to_s)
46
45
 
47
46
  # 这里的错误处理代码参照的 JS SDK (src/lib/common/GraphqlClient.ts)
48
- if json['errors'] == nil
49
- # 如果没错误,直接返回 body
50
- body_as_string = response.body.to_s
51
- return body_as_string
47
+ if hash['errors'] == nil
48
+ # 如果没错误
49
+ return hash
52
50
  else
53
51
  # 如果有错误, 最后返回这3个字段就行
54
52
  code = nil
55
53
  message = nil
56
54
  data = nil
57
55
 
58
- json['errors'].each do |e|
56
+ hash['errors'].each do |e|
59
57
  if e['message']
60
58
  message = e['message']
61
59
  code = message['code']
@@ -1,5 +1,5 @@
1
1
  # 测试内容: 用户认证模块-认证核心模块
2
- # 如何运行: ruby /lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb
2
+ # 如何运行: ruby ./lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb
3
3
 
4
4
  require "minitest/autorun" # Minitest
5
5
  require "./lib/authing_ruby.rb" # 模块主文件
@@ -21,20 +21,20 @@ class TestAuthenticationClient < Minitest::Test
21
21
  end
22
22
 
23
23
  # 测试: 手机号+验证码+密码 注册
24
+ # 需要手动测试(填验证码)
24
25
  # ruby ./lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb -n test_registerByPhoneCode
25
26
  def test_registerByPhoneCode
26
27
  phone = '13556136684'
27
28
  code = '8086'
28
29
  password = '1234567890'
29
30
  res = @authenticationClient.registerByPhoneCode(phone, code, password)
30
- puts '拿到的结果是:-----'
31
- puts res
31
+ # puts '拿到的结果是:-----'
32
+ # puts res
32
33
  # {:code=>2026, :message=>"用户已存在,请直接登录!", :data=>nil}
33
34
  # {:code=>2001, :message=>"验证码不正确!", :data=>nil}
34
35
 
35
36
  # 如果成功
36
37
  # {"id"=>"60ad0c49d6e166f9fe23ba4d", "arn"=>"arn:cn:authing:60ab26fe478f98290befefaa:user:60ad0c49d6e166f9fe23ba4d", "userPoolId"=>"60ab26fe478f98290befefaa", "status"=>"Activated", "username"=>nil, "email"=>nil, "emailVerified"=>false, "phone"=>"13556136684", "phoneVerified"=>true, "unionid"=>nil, "openid"=>nil, "nickname"=>nil, "registerSource"=>["basic:phone-code"], "photo"=>"default-user-avatar.png", "password"=>"0361a6088087f31edd172c4f6076c0e6", "oauth"=>nil, "token"=>nil, "tokenExpiredAt"=>nil, "loginsCount"=>0, "lastLogin"=>nil, "lastIP"=>nil, "signedUp"=>nil, "blocked"=>false, "isDeleted"=>false, "device"=>nil, "browser"=>nil, "company"=>nil, "name"=>nil, "givenName"=>nil, "familyName"=>nil, "middleName"=>nil, "profile"=>nil, "preferredUsername"=>nil, "website"=>nil, "gender"=>"U", "birthdate"=>nil, "zoneinfo"=>nil, "locale"=>nil, "address"=>nil, "formatted"=>nil, "streetAddress"=>nil, "locality"=>nil, "region"=>nil, "postalCode"=>nil, "city"=>nil, "province"=>nil, "country"=>nil, "createdAt"=>"2021-05-25T14:40:09+00:00", "updatedAt"=>"2021-05-25T14:40:09+00:00", "externalId"=>nil}
37
- assert(res.dig('id'), res)
38
38
  end
39
39
 
40
40
  # 测试邮箱+密码注册
@@ -138,11 +138,13 @@ class TestAuthenticationClient < Minitest::Test
138
138
  end
139
139
 
140
140
  # 测试: 修改用户资料
141
- # ruby /lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb -n test_updateProfile
141
+ # 需要手动测试(确保用户名+密码账号的确存在)
142
+ # ruby ./lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb -n test_updateProfile
142
143
  def test_updateProfile
143
144
  # 先登录
144
145
  username = 'zhengcheng123'
145
146
  password = "123456789"
147
+ @authenticationClient.registerByUsername(username, password)
146
148
  @authenticationClient.loginByUsername(username, password)
147
149
 
148
150
  # 进行第一次修改
@@ -220,11 +222,12 @@ class TestAuthenticationClient < Minitest::Test
220
222
  end
221
223
 
222
224
  # 测试: 检测 Token 登录状态
223
- # ruby /lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb -n test_checkLoginStatus
225
+ # ruby ./lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb -n test_checkLoginStatus
224
226
  def test_checkLoginStatus
225
227
  # 第一步:先登录然后获取 token
226
228
  username = 'zhengcheng123'
227
229
  password = "123456789"
230
+ @authenticationClient.registerByUsername(username, password)
228
231
  user = @authenticationClient.loginByUsername(username, password)
229
232
  token = user.dig("token")
230
233
 
@@ -9,8 +9,8 @@ Dotenv.load('.env.test')
9
9
  class TestManagementClient < Minitest::Test
10
10
  def setup
11
11
  @options = {
12
- # host: 'https://core.authing.cn',
13
- host: 'https://core.authing.co', # 2021-5-13 他们临时使用 .co,过几天等他们恢复了 .cn 这里就改回 .cn
12
+ host: 'https://core.authing.cn',
13
+ # host: 'https://core.authing.co', # 2021-5-13 他们临时使用 .co,过几天等他们恢复了 .cn 这里就改回 .cn
14
14
  userPoolId: ENV["userPoolId"],
15
15
  secret: ENV["secret"],
16
16
  }
@@ -2,5 +2,5 @@
2
2
  # https://github.com/Authing/authing.js/blob/cf4757d09de3b44c3c3f4509ae8c8715c9f302a2/src/lib/version.ts
3
3
 
4
4
  module AuthingRuby
5
- VERSION = "1.0.9".freeze
5
+ VERSION = "1.1.0".freeze
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authing_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.9
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - 郑诚(Zheng Cheng)