jpsclient 2.3.0 → 2.4.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: dcf80dbe6ac3bdcecdd9c846c92db864f7c5fb74f8c971e924bf66ede9886241
4
- data.tar.gz: 9b116b8d64d779d222b42c973d91574d136cf35e702ff2a2e2650d57f38a4793
3
+ metadata.gz: 115aab4e3f917e08c354c41dd60a057806ad4f6c2b55cbcfa9a157537ba16fff
4
+ data.tar.gz: 1b45cd59a951d59a8e78804820f3e4276585e634b5037a93356f396448fa5102
5
5
  SHA512:
6
- metadata.gz: 6662bd22dd54b5f0e2f33db3595c6325ab9dcb18226dc8b8ab8b00576d8bb8f409a140bee259b62e6ad33521fda550d620ba1c0a115584a617135d3421092f19
7
- data.tar.gz: de147cfce55eb03891cbde55b1c138e6c4ca1ead93ae0d7767ffd4f5f23728a46ab0ddb5df09ff34218b79ca3c7fc514109d0bfcb3a59d6ce7313ffcd25727cd
6
+ metadata.gz: b5dd156c92785c0f6dfac3a73db923c9a358b7e861e255309778ee9c7590408b8c5bc7a58596cccdf685432005c6c9a879647ea2af6f7c61d8536ca7542c3bc7
7
+ data.tar.gz: 54d389465f4e8e985ce8af7b8f6cb9442ffc30b26fb837eeebff9c986f027d6b06cd0f563943993031dcd10257ef78d5ae58d76d5bd82d31d574fa40f8c98ac8
@@ -13,6 +13,7 @@ module JPSClient
13
13
  class Token
14
14
  attr_reader :token, :username
15
15
  attr_reader :user_id, :permissions, :lark_user_id, :tenant_manager
16
+ attr_reader :expires_at, :created_at
16
17
 
17
18
  def initialize(config)
18
19
  @config = config
@@ -39,6 +40,8 @@ module JPSClient
39
40
  @permissions = nil
40
41
  @lark_user_id = nil
41
42
  @tenant_manager = false
43
+ @expires_at = nil
44
+ @created_at = nil
42
45
 
43
46
  # 调试模式
44
47
  @verbose = ENV['PINDO_DEBUG'] == 'true'
@@ -72,6 +75,8 @@ module JPSClient
72
75
  @permissions = token_data['permissions']
73
76
  @lark_user_id = token_data['lark_user_id']
74
77
  @tenant_manager = token_data.key?('tenant_manager') ? token_data['tenant_manager'] : false
78
+ @expires_at = token_data['expires_at']
79
+ @created_at = token_data['created_at']
75
80
 
76
81
  # 旧版 token 文件缺少 user_id,视为无效,需重新登录获取完整字段
77
82
  unless @token && @user_id
@@ -100,6 +105,8 @@ module JPSClient
100
105
  @permissions = token_data['permissions']
101
106
  @lark_user_id = token_data['lark_user_id']
102
107
  @tenant_manager = token_data.key?('tenant_manager') ? token_data['tenant_manager'] : false
108
+ @created_at = Time.now.to_i
109
+ @expires_at = @created_at + 6 * 24 * 60 * 60 # 6天后过期
103
110
 
104
111
  # 确保目录存在
105
112
  FileUtils.mkdir_p(@token_dir) unless Dir.exist?(@token_dir)
@@ -110,7 +117,9 @@ module JPSClient
110
117
  'user_id' => @user_id,
111
118
  'permissions' => @permissions,
112
119
  'lark_user_id' => @lark_user_id,
113
- 'tenant_manager' => @tenant_manager
120
+ 'tenant_manager' => @tenant_manager,
121
+ 'expires_at' => @expires_at,
122
+ 'created_at' => @created_at
114
123
  }
115
124
 
116
125
  # 根据是否有 AES 密钥决定加密方式
@@ -143,6 +152,8 @@ module JPSClient
143
152
  @permissions = nil
144
153
  @lark_user_id = nil
145
154
  @tenant_manager = false
155
+ @expires_at = nil
156
+ @created_at = nil
146
157
 
147
158
  FileUtils.rm_f(@token_file) if File.exist?(@token_file)
148
159
  puts "✓ Token 已清除" if @verbose
@@ -158,7 +169,9 @@ module JPSClient
158
169
  'user_id' => @user_id,
159
170
  'permissions' => @permissions,
160
171
  'lark_user_id' => @lark_user_id,
161
- 'tenant_manager' => @tenant_manager
172
+ 'tenant_manager' => @tenant_manager,
173
+ 'expires_at' => @expires_at,
174
+ 'created_at' => @created_at
162
175
  }
163
176
  end
164
177
 
@@ -1,3 +1,3 @@
1
1
  module JPSClient
2
- VERSION = '2.3.0'
2
+ VERSION = '2.4.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jpsclient
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Your Name