Closed noahziheng closed 1 year ago
目前的 Token 获取后都会存储在 Client.cache 中,其值源为:
其中 internalCache 是个全局单例,会造成 Token 在同一个进程的多个 Client 之间被错误复用(有一个 Token 后将不再获取,即便是调用的另一个 Client/Tenant)
同时,当试图关闭缓存以绕过问题时会发现:
||
disableTokenCache
Client.cache 调整为每次 Client 实例化时新初始化一个 DefaultCache,以保证 Client 间信息隔离
如果要自定义传token的话,方法见https://github.com/larksuite/node-sdk/issues/25; 多实例下看起来确实会有问题,解决方案:
我改一下
1.10.0可用
Problem
目前的 Token 获取后都会存储在 Client.cache 中,其值源为:![6d63c4b6-a135-4f82-9b29-e87e1acaec3f](https://user-images.githubusercontent.com/2758317/215260695-95fefd64-e7da-4d1a-931a-6291f8b3302e.jpeg)
其中 internalCache 是个全局单例,会造成 Token 在同一个进程的多个 Client 之间被错误复用(有一个 Token 后将不再获取,即便是调用的另一个 Client/Tenant)
同时,当试图关闭缓存以绕过问题时会发现:
||
,cache 字段实际上不能通过传 null 实现不缓存disableTokenCache
字段语义不符,会直接不获取 TokenSolution
Client.cache 调整为每次 Client 实例化时新初始化一个 DefaultCache,以保证 Client 间信息隔离