我正在关注Oauth 2.0身份验证协议。
在获得Oauth访问令牌后,在授权代码流中说,如果Access_toke过期,我们需要使用刷新令牌刷新它。
我的问题是我们如何知道access_token是否已过期?这样我们就可以借助refresh_token声明一个新的访问令牌。
答案 0 :(得分:1)
你的令牌数组应该像这样。
tokens[token] = { "userID": userID, "clientID": clientID , "expires_in": expires, "refreshToken": refreshToken };
到期=当前时间+ 30分钟(假设您的令牌将在30分钟后过期) 在受保护的路线中,您应该将当前时间与到期时间进行比较。如果令牌过期,您将使用刷新令牌发出新令牌。
答案 1 :(得分:0)
请记住访问令牌到期时的到期时间。获取访问令牌后,您可以检查expires_in参数。请参阅OAuth 2.0规范:https://tools.ietf.org/html/rfc6749#section-4.1.4
您还应该处理无效令牌错误,并在旧的过期时获取新令牌。请参阅说明:https://tools.ietf.org/html/rfc6749#section-1.5