我正在为一个项目实现 OAuth,我想知道处理刷新令牌的最佳方法。
我调用的API将返回一个带有access_token、expires_in和refresh_token的JSON对象。
所以我想知道,是不是更好:
-
计算access_token的过期时间,并将其存储在数据库中。每次调用API时检查access_token是否过期,如果过期则使用refresh_token获取新的access_token。
(附加问题:如何确保计算的令牌过期时间准确?因为expire_in值可能从API服务器生成密钥时开始,而不是从我收到密钥时开始。)
OR
- 只需尝试每次都使用 access_token 进行 API 调用,如果返回错误,则使用刷新令牌。
我也对实现这一点的其他选择持开放态度。
客户端应始终准备好处理从 API 返回的错误,该错误表明access_token
验证失败。根据实施情况,访问令牌可能已被撤销或声明为无效。
然后客户端可以使用refresh_token
获取新的访问令牌并重试。因此,您可以选择实现 1.,但它并不能让您摆脱实现 2.,因此您可以选择坚持只实现 2,并最大限度地减少所需的代码量。
当然如果你想尽可能的防止错误的发生,你可以实现1.优化调用次数,减少整个过程中的错误数量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)