使用 golang 设置 oauth2 访问和刷新令牌的长过期时间

发布于 2025-01-11 10:48:05 字数 424 浏览 0 评论 0原文

我已使用 oauth2 包 Config.Exchange 函数在同步我的帐户后获取令牌。但第一次同步时,它会返回令牌的过期时间,即自同步之日起 7 天。对于下一次代币交换,它返回 24 小时的到期时间。我想设置更长的期限。

我浏览了 oauth2 包文档,发现了这个: https://cloud.google.com/apigee/docs/api-platform/antipatterns/oauth-long-expiration#antipattern,但无法了解流程Golang 代码中的句柄。

有什么想法吗?请建议。

I have used oauth2 package Config.Exchange function to get the token after syncing my account. But for the first time sync it returns me a expiration time for the token of 7 days from the time of sync. And for the next token exchange, it's returning expiry time of 24hours. I want to set a longer period expiration.

I went through then oauth2 package documentation, found this: https://cloud.google.com/apigee/docs/api-platform/antipatterns/oauth-long-expiration#antipattern, but couldn't get to know the procedure to handle in Golang code.

Any ideas? please suggest.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暮光沉寂 2025-01-18 10:48:05

您可以使用刷新,而不是考虑增加令牌的过期时间token 使用刷新令牌时,您必须考虑以下过期时间范围和原因:

为外部用户类型配置了 OAuth 同意屏幕且发布状态为“测试”的 Google Cloud Platform 项目获得了一个刷新令牌,该令牌将在 7 天后过期。

目前,每个 OAuth 2.0 客户端 ID 每个 Google 帐户最多可使用 50 个刷新令牌。如果达到限制,创建新的刷新令牌会自动使最旧的刷新令牌失效,而不会发出警告。此限制不适用于服务帐户。

在这种情况下,文档指出您必须编写代码以预测授予的刷新令牌可能不再起作用的可能性,因此最好将其应用于您的代码。

Rather than thinking about increasing the expiration time for a token you can instead use the Refresh token you have to consider the following expiration time frames and reasons when using a refresh token:

A Google Cloud Platform project with an OAuth consent screen configured for an external user type and a publishing status of "Testing" is issued a refresh token expiring in 7 days.

There is currently a limit of 50 refresh tokens per Google Account per OAuth 2.0 client ID. If the limit is reached, creating a new refresh token automatically invalidates the oldest refresh token without warning. This limit does not apply to service accounts.

In this case the documentation states that You must write your code to anticipate the possibility that a granted refresh token might no longer work so it would be a good idea to apply this on your code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文