Google OAuth - 访问令牌和刷新令牌之间的区别 [重复]
Posted
技术标签:
【中文标题】Google OAuth - 访问令牌和刷新令牌之间的区别 [重复]【英文标题】:Google OAuth - Difference between ACCESS TOKEN and REFRESH TOKEN [duplicate] 【发布时间】:2021-06-16 07:04:03 【问题描述】:所以,我知道 访问令牌 总是在用户登录时收到并且有效期为 1 小时。 并且刷新令牌也被接收,但仅在提示用户同意权限时。 这个刷新令牌可以离线使用。
我必须刷新访问令牌吗? 如果我只需要刷新令牌,那么访问令牌有什么意义? 我很困惑。
尤其是这段代码的意义何在?
$refresh = $this->getRefreshToken();
if ($refresh)
$res = $this->fetchAccessTokenWithRefreshToken($refresh);
【问题讨论】:
您只能使用访问令牌访问受保护的资源。您可以使用刷新令牌获取新的访问令牌,以防访问令牌过期。当您说刷新令牌可以离线使用时,我不确定您的意思。如果您无法访问您尝试授权的资源,那么身份验证令牌的意义何在? 【参考方案1】:需要刷新令牌才能在过期后获取新的访问令牌。否则用户将不得不再次进行身份验证。 代码基本意思是:
$refresh = $this->getRefreshToken(); // Get me my refresh token
if ($refresh) // If I have a refresh token
// Here's my refresh token, get me a new access token
$res = $this->fetchAccessTokenWithRefreshToken($refresh);
【讨论】:
以上是关于Google OAuth - 访问令牌和刷新令牌之间的区别 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 OAuth 2.0 Google App Engine 刷新访问令牌
使用 OAuth 刷新令牌获取新的访问令牌 - Google API