authing_ruby 1.0.8 → 1.0.9
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 +4 -4
- data/lib/authing_ruby/authentication/AuthenticationClient.rb +7 -4
- data/lib/authing_ruby/common/GraphqlClient.rb +44 -4
- data/lib/authing_ruby/management/ManagementClient.rb +1 -1
- data/lib/authing_ruby/management/ManagementTokenProvider.rb +7 -3
- data/lib/authing_ruby/test/js_sdk_test/2.registerByPhoneCode.js +130 -0
- data/lib/authing_ruby/test/js_sdk_test/3.sendSMS.js +23 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/browser/index.min.js +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationClient.d.ts +41 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationClient.js +60 -2
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/QrCodeAuthenticationClient.js +6 -3
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/SocialAuthenticationClient.d.ts +4 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/SocialAuthenticationClient.js +6 -5
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/types.d.ts +10 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/types.js +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/GraphqlClient.js +10 -8
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/HttpClient.js +17 -15
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/graphqlapi.d.ts +12 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/graphqlapi.js +192 -2
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ApplicationsManagementClient.js +5 -3
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/GroupsManagementClient.d.ts +5 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/GroupsManagementClient.js +29 -11
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementClient.d.ts +5 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementClient.js +15 -2
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/OrgManagementClient.d.ts +34 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/OrgManagementClient.js +71 -3
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/RolesManagementClient.d.ts +6 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/RolesManagementClient.js +45 -10
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UsersManagementClient.d.ts +34 -3
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UsersManagementClient.js +189 -52
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/types.d.ts +10 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/types.js +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/utils.d.ts +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/utils.js +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/version.d.ts +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/version.js +2 -2
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/graphql.v2.d.ts +661 -32
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/graphql.v2.js +30 -19
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationClient.d.ts +41 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationClient.js +61 -3
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/QrCodeAuthenticationClient.js +6 -3
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/SocialAuthenticationClient.d.ts +4 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/SocialAuthenticationClient.js +6 -5
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/types.d.ts +10 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/types.js +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/GraphqlClient.js +10 -8
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/HttpClient.js +17 -15
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/graphqlapi.d.ts +12 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/graphqlapi.js +192 -2
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ApplicationsManagementClient.js +5 -3
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/GroupsManagementClient.d.ts +5 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/GroupsManagementClient.js +30 -12
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementClient.d.ts +5 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementClient.js +15 -2
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/OrgManagementClient.d.ts +34 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/OrgManagementClient.js +72 -4
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/RolesManagementClient.d.ts +6 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/RolesManagementClient.js +46 -11
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UsersManagementClient.d.ts +34 -3
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UsersManagementClient.js +190 -53
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/types.d.ts +10 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/types.js +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/utils.d.ts +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/utils.js +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/version.d.ts +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/version.js +2 -2
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/graphql.v2.d.ts +661 -32
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/graphql.v2.js +29 -18
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationClient.d.ts +41 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationClient.js +60 -2
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/QrCodeAuthenticationClient.js +6 -3
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/SocialAuthenticationClient.d.ts +4 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/SocialAuthenticationClient.js +6 -5
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/types.d.ts +10 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/types.js +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/GraphqlClient.js +10 -8
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/HttpClient.js +17 -15
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/graphqlapi.d.ts +12 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/graphqlapi.js +192 -2
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ApplicationsManagementClient.js +5 -3
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/GroupsManagementClient.d.ts +5 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/GroupsManagementClient.js +29 -11
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementClient.d.ts +5 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementClient.js +15 -2
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/OrgManagementClient.d.ts +34 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/OrgManagementClient.js +71 -3
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/RolesManagementClient.d.ts +6 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/RolesManagementClient.js +45 -10
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UsersManagementClient.d.ts +34 -3
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UsersManagementClient.js +189 -52
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/types.d.ts +10 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/types.js +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/utils.d.ts +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/utils.js +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/version.d.ts +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/version.js +2 -2
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/graphql.v2.d.ts +661 -32
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/graphql.v2.js +30 -19
- data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/package.json +1 -1
- data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/CHANGELOG.md +210 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/LICENSE +23 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/README.md +275 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/config.js +11 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/cli-options.js +13 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/env-options.js +18 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/main.js +118 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/package.json +57 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/index.d.ts +59 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/test.ts +19 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/tsconfig.json +15 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/tslint.json +6 -0
- data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/index.js +0 -4
- data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/package.json +1 -1
- data/lib/authing_ruby/test/js_sdk_test/package-lock.json +7 -7
- data/lib/authing_ruby/test/js_sdk_test/package.json +3 -2
- data/lib/authing_ruby/test/js_sdk_test/yarn.lock +71 -0
- data/lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb +21 -6
- data/lib/authing_ruby/test/mini_test/TestManagementClient.rb +4 -3
- data/lib/authing_ruby/test/sms.rb +18 -0
- data/lib/authing_ruby/utils/utils.rb +32 -1
- data/lib/authing_ruby/version.rb +1 -1
- metadata +18 -2
|
@@ -11,13 +11,32 @@ Dotenv.load('.env.test') # 你可以编辑这个文件来修改环境变量
|
|
|
11
11
|
class TestAuthenticationClient < Minitest::Test
|
|
12
12
|
def setup
|
|
13
13
|
options = {
|
|
14
|
-
appHost: ENV["appHost"], # "https://rails-demo.authing.cn",
|
|
15
|
-
appId: ENV["appId"], # "60800b9151d040af9016d60b"
|
|
14
|
+
# appHost: ENV["appHost"], # "https://rails-demo.authing.cn",
|
|
15
|
+
# appId: ENV["appId"], # "60800b9151d040af9016d60b"
|
|
16
|
+
appId: "60ab26fe5be730bfc1742c68",
|
|
17
|
+
appHost: "https://hn-staging.authing.cn",
|
|
16
18
|
}
|
|
17
19
|
@authenticationClient = AuthingRuby::AuthenticationClient.new(options)
|
|
18
20
|
@helper = Test::Helper.new
|
|
19
21
|
end
|
|
20
22
|
|
|
23
|
+
# 测试: 手机号+验证码+密码 注册
|
|
24
|
+
# ruby ./lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb -n test_registerByPhoneCode
|
|
25
|
+
def test_registerByPhoneCode
|
|
26
|
+
phone = '13556136684'
|
|
27
|
+
code = '8086'
|
|
28
|
+
password = '1234567890'
|
|
29
|
+
res = @authenticationClient.registerByPhoneCode(phone, code, password)
|
|
30
|
+
puts '拿到的结果是:-----'
|
|
31
|
+
puts res
|
|
32
|
+
# {:code=>2026, :message=>"用户已存在,请直接登录!", :data=>nil}
|
|
33
|
+
# {:code=>2001, :message=>"验证码不正确!", :data=>nil}
|
|
34
|
+
|
|
35
|
+
# 如果成功
|
|
36
|
+
# {"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
|
+
end
|
|
39
|
+
|
|
21
40
|
# 测试邮箱+密码注册
|
|
22
41
|
# ruby /lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb -n test_registerByEmail
|
|
23
42
|
def test_registerByEmail
|
|
@@ -188,10 +207,6 @@ class TestAuthenticationClient < Minitest::Test
|
|
|
188
207
|
assert(result.dig('id') != nil, result)
|
|
189
208
|
end
|
|
190
209
|
|
|
191
|
-
# 测试: 解绑手机号
|
|
192
|
-
def test_unbindPhone
|
|
193
|
-
end
|
|
194
|
-
|
|
195
210
|
# 测试: 更新用户手机号
|
|
196
211
|
def test_updatePhone
|
|
197
212
|
end
|
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
require "minitest/autorun"
|
|
4
4
|
require "./lib/authing_ruby.rb"
|
|
5
|
-
require "./lib/test/helper.rb"
|
|
5
|
+
require "./lib/authing_ruby/test/helper.rb"
|
|
6
6
|
require 'dotenv'
|
|
7
7
|
Dotenv.load('.env.test')
|
|
8
8
|
|
|
9
9
|
class TestManagementClient < Minitest::Test
|
|
10
10
|
def setup
|
|
11
11
|
@options = {
|
|
12
|
-
host: 'https://core.authing.cn',
|
|
12
|
+
# host: 'https://core.authing.cn',
|
|
13
|
+
host: 'https://core.authing.co', # 2021-5-13 他们临时使用 .co,过几天等他们恢复了 .cn 这里就改回 .cn
|
|
13
14
|
userPoolId: ENV["userPoolId"],
|
|
14
15
|
secret: ENV["secret"],
|
|
15
16
|
}
|
|
@@ -93,7 +94,7 @@ class TestManagementClient < Minitest::Test
|
|
|
93
94
|
end
|
|
94
95
|
|
|
95
96
|
# 测试通过 ID 获取用户信息
|
|
96
|
-
# ruby ./lib/test/mini_test/TestManagementClient.rb -n test_detail
|
|
97
|
+
# ruby ./lib/authing_ruby/test/mini_test/TestManagementClient.rb -n test_detail
|
|
97
98
|
def test_detail
|
|
98
99
|
user = create_random_user()
|
|
99
100
|
user_id = user.dig("id")
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# 发短信
|
|
2
|
+
# ruby ./lib/authing_ruby/test/sms.rb
|
|
3
|
+
|
|
4
|
+
require "./lib/authing_ruby.rb" # 模块主文件
|
|
5
|
+
require "./lib/authing_ruby/test/helper.rb"
|
|
6
|
+
require 'dotenv'
|
|
7
|
+
Dotenv.load('.env.test') # 你可以编辑这个文件来修改环境变量
|
|
8
|
+
|
|
9
|
+
options = {
|
|
10
|
+
# appHost: ENV["appHost"] || , # "https://rails-demo.authing.cn",
|
|
11
|
+
# appId: ENV["appId"], # "60800b9151d040af9016d60b"
|
|
12
|
+
appId: "60ab26fe5be730bfc1742c68",
|
|
13
|
+
appHost: "https://hn-staging.authing.cn",
|
|
14
|
+
}
|
|
15
|
+
@authenticationClient = AuthingRuby::AuthenticationClient.new(options)
|
|
16
|
+
phone = "13556136684"
|
|
17
|
+
sms_result = @authenticationClient.sendSmsCode(phone)
|
|
18
|
+
puts sms_result
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# 一些工具函数放这里
|
|
2
|
+
|
|
1
3
|
require 'openssl'
|
|
2
4
|
require "base64"
|
|
3
5
|
require 'jwt'
|
|
@@ -56,7 +58,7 @@ module AuthingRuby
|
|
|
56
58
|
hmac_secret = appSecret
|
|
57
59
|
decoded = JWT.decode id_token, hmac_secret, true, { algorithm: 'HS256' }
|
|
58
60
|
rescue => error
|
|
59
|
-
puts error.message
|
|
61
|
+
# puts error.message
|
|
60
62
|
return false
|
|
61
63
|
end
|
|
62
64
|
|
|
@@ -73,5 +75,34 @@ module AuthingRuby
|
|
|
73
75
|
end
|
|
74
76
|
end
|
|
75
77
|
|
|
78
|
+
# decodeIdToken 函数用于 解码 id token 得到用户信息
|
|
79
|
+
# 因为 id token 其实就是一个普通的 JWT,所以 payload 没有加密过,只是 base64 编码了而已,可以当做明文看待 (你可以直接把 id token 粘贴到 https://jwt.io/ 看到 payload 内容)
|
|
80
|
+
# 所以 payload 不可以直接相信,必须先验证后才能相信。
|
|
81
|
+
# 函数返回:
|
|
82
|
+
# 成功:返回用户信息
|
|
83
|
+
# 失败:返回 nil (比如解码失败 或 token 过期)
|
|
84
|
+
def self.decodeIdToken(id_token, appSecret)
|
|
85
|
+
# 如果解码出错,直接返回 false
|
|
86
|
+
begin
|
|
87
|
+
hmac_secret = appSecret
|
|
88
|
+
decoded = JWT.decode id_token, hmac_secret, true, { algorithm: 'HS256' }
|
|
89
|
+
rescue => error
|
|
90
|
+
# puts error.message
|
|
91
|
+
return nil
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
payload = decoded[0]
|
|
95
|
+
header = decoded[1]
|
|
96
|
+
|
|
97
|
+
# 从 payload 获得过期时间,然后判断是否过期
|
|
98
|
+
exp = payload["exp"] # 过期时间
|
|
99
|
+
current_timestamp = Time.now.to_i
|
|
100
|
+
if current_timestamp < exp
|
|
101
|
+
return payload # 没过期
|
|
102
|
+
else
|
|
103
|
+
return nil # 过期了
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
76
107
|
end
|
|
77
108
|
end
|
data/lib/authing_ruby/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: authing_ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- 郑诚(Zheng Cheng)
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-05-
|
|
11
|
+
date: 2021-05-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: minitest
|
|
@@ -209,6 +209,8 @@ files:
|
|
|
209
209
|
- lib/authing_ruby/test/helper.rb
|
|
210
210
|
- lib/authing_ruby/test/js_sdk_test/1.buildAuthorizeUrl.js
|
|
211
211
|
- lib/authing_ruby/test/js_sdk_test/2.buildAuthorizeUrl_PKCE.js
|
|
212
|
+
- lib/authing_ruby/test/js_sdk_test/2.registerByPhoneCode.js
|
|
213
|
+
- lib/authing_ruby/test/js_sdk_test/3.sendSMS.js
|
|
212
214
|
- lib/authing_ruby/test/js_sdk_test/README.md
|
|
213
215
|
- lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/CONTRIBUTION.md
|
|
214
216
|
- lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/LICENSE
|
|
@@ -591,6 +593,18 @@ files:
|
|
|
591
593
|
- lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/debug.js
|
|
592
594
|
- lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/index.js
|
|
593
595
|
- lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/node.js
|
|
596
|
+
- lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/CHANGELOG.md
|
|
597
|
+
- lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/LICENSE
|
|
598
|
+
- lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/README.md
|
|
599
|
+
- lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/config.js
|
|
600
|
+
- lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/cli-options.js
|
|
601
|
+
- lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/env-options.js
|
|
602
|
+
- lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/main.js
|
|
603
|
+
- lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/package.json
|
|
604
|
+
- lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/index.d.ts
|
|
605
|
+
- lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/test.ts
|
|
606
|
+
- lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/tsconfig.json
|
|
607
|
+
- lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/tslint.json
|
|
594
608
|
- lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/LICENSE
|
|
595
609
|
- lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/README.md
|
|
596
610
|
- lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/debug.js
|
|
@@ -657,6 +671,7 @@ files:
|
|
|
657
671
|
- lib/authing_ruby/test/js_sdk_test/node_modules/ms/readme.md
|
|
658
672
|
- lib/authing_ruby/test/js_sdk_test/package-lock.json
|
|
659
673
|
- lib/authing_ruby/test/js_sdk_test/package.json
|
|
674
|
+
- lib/authing_ruby/test/js_sdk_test/yarn.lock
|
|
660
675
|
- lib/authing_ruby/test/mini_test/TestApplicationsManagementClient.rb
|
|
661
676
|
- lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb
|
|
662
677
|
- lib/authing_ruby/test/mini_test/TestAuthenticationClientProtocal.rb
|
|
@@ -666,6 +681,7 @@ files:
|
|
|
666
681
|
- lib/authing_ruby/test/mini_test/TestNaiveHttpClient.rb
|
|
667
682
|
- lib/authing_ruby/test/mini_test/TestSMSandEmail.rb
|
|
668
683
|
- lib/authing_ruby/test/mini_test/TestUtils.rb
|
|
684
|
+
- lib/authing_ruby/test/sms.rb
|
|
669
685
|
- lib/authing_ruby/utils/utils.rb
|
|
670
686
|
- lib/authing_ruby/version.rb
|
|
671
687
|
homepage: https://github.com/1c7/authing_ruby
|