authing_ruby 1.0.9 → 1.1.0

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
  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)