C# 访问令牌过期
我使用了RingCentral客户端v。2.3.4 我已经实现了OAuth授权来获取访问令牌,然后将其存储在DB中。我们还将自动刷新令牌属性设置为true。我们处理了刷新令牌事件并更新了数据库中的访问令牌。我们使用DB中的这个令牌来创建detailedtelephony事件,直到这里一切都正常,但一段时间后,令牌可能会在几个小时后过期C# 访问令牌过期,c#,oauth-2.0,ringcentral,C#,Oauth 2.0,Ringcentral,我使用了RingCentral客户端v。2.3.4 我已经实现了OAuth授权来获取访问令牌,然后将其存储在DB中。我们还将自动刷新令牌属性设置为true。我们处理了刷新令牌事件并更新了数据库中的访问令牌。我们使用DB中的这个令牌来创建detailedtelephony事件,直到这里一切都正常,但一段时间后,令牌可能会在几个小时后过期 是否有任何方法可以在没有用户干预的情况下保持此令牌的有效性。每个RingCentral用户最多可以有5个实时访问/刷新令牌。假设您使用相同的用户凭据在短时间内请求
是否有任何方法可以在没有用户干预的情况下保持此令牌的有效性。每个RingCentral用户最多可以有5个实时访问/刷新令牌。假设您使用相同的用户凭据在短时间内请求访问/刷新令牌6次。然后,您请求的第一个访问/刷新令牌将无效 这会是你的案子吗?您是否在多个应用程序中使用相同的RingCentral用户凭据?如果是这样的话,很可能您有5个以上的live Token,并且存储在db中的最旧的Token无效 更新:
您还可以禁用自动刷新功能:并在访问令牌过期时(刷新令牌也过期之前)手动刷新。这样,您就不需要侦听刷新事件,因为所有刷新操作都是由您的代码启动的。只需记住在每次刷新后更新DB。您需要知道如何有效地使用令牌,并以一种不需要频繁调用和生成它们的方式生成访问令牌,但仅在到期前需要时才需要 访问令牌生存期为3600s=1小时 刷新令牌生存期为7天(1周) 您可以每1小时更新一次访问令牌和刷新令牌。time提供的expires_允许您知道何时需要刷新令牌,并且定期检查它将允许您在需要时刷新令牌。在每次API调用之前,不需要太频繁地调用它 您可以刷新未过期的令牌,也可以使用刷新令牌在其过期之前进行刷新。将立即清除以前的访问令牌,并返回新的访问令牌。对于每个实例,一次只有一个活动访问令牌 如果您可以为令牌的长期运行维护访问令牌和刷新令牌周期。。通过这种方式,在大多数情况下,如果您保存令牌并从数据库中检索它,则可以避免令牌过期 更多参考: