c# - 访问令牌过期
问题描述
我使用了 RingCentral Client v. 2.3.4。
我已经实现了 OAuth 授权来获取访问令牌,然后将其存储在数据库中。我们还将自动刷新令牌属性设置为 true。我们处理了刷新令牌事件并更新了数据库中的访问令牌。我们使用数据库中的这个令牌来创建详细的电话事件,直到这里一切正常,但一段时间后可能会在几个小时后令牌过期。
有什么方法可以让我们在没有用户干预的情况下保持这个令牌有效。
解决方案
每个 RingCentral 用户最多可以拥有 5 个实时访问/刷新令牌。假设您使用相同的用户凭据在短时间内请求访问/刷新令牌 6 次。然后您请求的第一个访问/刷新令牌无效。
会不会是你的情况?您是否在多个应用程序中使用相同的 RingCentral 用户凭据?是这样的,您很可能拥有超过 5 个实时令牌,并且存储在您的数据库中的最旧的令牌已失效。
更新:
您还可以禁用自动刷新功能:https ://github.com/ringcentral/ringcentral-csharp-client#auto-refresh并在访问令牌过期时手动刷新(在刷新令牌也过期之前)。这样您就不需要监听刷新事件,因为所有刷新操作都是由您的代码启动的。只要记住每次刷新后更新数据库。
推荐阅读
- c# - PlatformChecks.RequestPermissions 不可用
- python - 音乐播放器应用
- python-3.x - pathlib 使用双斜杠返回非 Windows 路径
- javascript - onclick 不更新。即使在使用 .onclick="hideList()" 之后也显示旧值;
- javascript - 如何使用Javascript在数组中查找json对象的索引
- mysql - 如何从主机 Windows 连接到 WSL mysql
- r - 在列范围内矢量化名称替换
- java - 将映射值分配给输入字符串
- jquery - 单击当前选项卡后不显示弹出
- python - flask+uwsgi+nginx+centos 导入模块numpy报错