Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 访问令牌过期_C#_Oauth 2.0_Ringcentral - Fatal编程技术网

C# 访问令牌过期

C# 访问令牌过期,c#,oauth-2.0,ringcentral,C#,Oauth 2.0,Ringcentral,我使用了RingCentral客户端v。2.3.4 我已经实现了OAuth授权来获取访问令牌,然后将其存储在DB中。我们还将自动刷新令牌属性设置为true。我们处理了刷新令牌事件并更新了数据库中的访问令牌。我们使用DB中的这个令牌来创建detailedtelephony事件,直到这里一切都正常,但一段时间后,令牌可能会在几个小时后过期 是否有任何方法可以在没有用户干预的情况下保持此令牌的有效性。每个RingCentral用户最多可以有5个实时访问/刷新令牌。假设您使用相同的用户凭据在短时间内请求

我使用了RingCentral客户端v。2.3.4

我已经实现了OAuth授权来获取访问令牌,然后将其存储在DB中。我们还将自动刷新令牌属性设置为true。我们处理了刷新令牌事件并更新了数据库中的访问令牌。我们使用DB中的这个令牌来创建detailedtelephony事件,直到这里一切都正常,但一段时间后,令牌可能会在几个小时后过期


是否有任何方法可以在没有用户干预的情况下保持此令牌的有效性。

每个RingCentral用户最多可以有5个实时访问/刷新令牌。假设您使用相同的用户凭据在短时间内请求访问/刷新令牌6次。然后,您请求的第一个访问/刷新令牌将无效

这会是你的案子吗?您是否在多个应用程序中使用相同的RingCentral用户凭据?如果是这样的话,很可能您有5个以上的live Token,并且存储在db中的最旧的Token无效

更新:


您还可以禁用自动刷新功能:并在访问令牌过期时(刷新令牌也过期之前)手动刷新。这样,您就不需要侦听刷新事件,因为所有刷新操作都是由您的代码启动的。只需记住在每次刷新后更新DB。

您需要知道如何有效地使用令牌,并以一种不需要频繁调用和生成它们的方式生成访问令牌,但仅在到期前需要时才需要

访问令牌生存期为3600s=1小时 刷新令牌生存期为7天(1周)

您可以每1小时更新一次访问令牌和刷新令牌。time提供的expires_允许您知道何时需要刷新令牌,并且定期检查它将允许您在需要时刷新令牌。在每次API调用之前,不需要太频繁地调用它

您可以刷新未过期的令牌,也可以使用刷新令牌在其过期之前进行刷新。将立即清除以前的访问令牌,并返回新的访问令牌。对于每个实例,一次只有一个活动访问令牌

如果您可以为令牌的长期运行维护访问令牌和刷新令牌周期。。通过这种方式,在大多数情况下,如果您保存令牌并从数据库中检索它,则可以避免令牌过期

更多参考: