为什么 oauth 2.0 客户端 ID 自动过期?
why oauth 2.0 client id expired automatically?
执行计算引擎
api(GET https://compute.googleapis.com/compute/v1/projects/{project}/zones/{zone}/instances/{resourceId}) with oauth 2.0 client id.
我创建了一个 OAuth2.0 客户端 ID,并根据本网站上的步骤获得了 access_token 和 refresh_token。
Obtaining OAuth 2.0 access tokens
Refreshing an access token (offline access)
我可以用刷新的access_token执行api。
3天后,运行再次执行此步骤,
https://developers.google.com/identity/protocols/oauth2/web-server#offline
回复是
json
{ "error": "invalid_grant", "error_description": "Token has been expired or revoked." }
为什么过期 refresh_token?
refresh_token
A token that you can use to obtain a new access token. Refresh tokens are valid until the user revokes access. Again, this field is only present in this response if you set the access_type parameter to offline in the initial request to Google's authorization server.
有很多事情会导致刷新令牌过期。
- 您正在使用 gmail 范围并且用户更改了密码。
- 六个月没用了
- 该用户已撤销您在其 google 帐户中的访问权限。
- 如果用户 运行 使用您的应用程序,您将获得一个刷新令牌,如果他们再次 运行 您将获得一个不同的刷新令牌,您最多可以执行 50 次并获得新的刷新令牌,它们将在 50 号之后全部工作,第一个将过期。确保您始终保存最新的刷新令牌。
- 您的应用目前正在测试中,尚未设置为发布,也未通过验证过程。
文档 link expiration
执行计算引擎
api(GET https://compute.googleapis.com/compute/v1/projects/{project}/zones/{zone}/instances/{resourceId}) with oauth 2.0 client id.
我创建了一个 OAuth2.0 客户端 ID,并根据本网站上的步骤获得了 access_token 和 refresh_token。
Obtaining OAuth 2.0 access tokens
Refreshing an access token (offline access)
我可以用刷新的access_token执行api。
3天后,运行再次执行此步骤,
https://developers.google.com/identity/protocols/oauth2/web-server#offline
回复是
json
{ "error": "invalid_grant", "error_description": "Token has been expired or revoked." }
为什么过期 refresh_token?
refresh_token A token that you can use to obtain a new access token. Refresh tokens are valid until the user revokes access. Again, this field is only present in this response if you set the access_type parameter to offline in the initial request to Google's authorization server.
有很多事情会导致刷新令牌过期。
- 您正在使用 gmail 范围并且用户更改了密码。
- 六个月没用了
- 该用户已撤销您在其 google 帐户中的访问权限。
- 如果用户 运行 使用您的应用程序,您将获得一个刷新令牌,如果他们再次 运行 您将获得一个不同的刷新令牌,您最多可以执行 50 次并获得新的刷新令牌,它们将在 50 号之后全部工作,第一个将过期。确保您始终保存最新的刷新令牌。
- 您的应用目前正在测试中,尚未设置为发布,也未通过验证过程。
文档 link expiration