6

我正在尝试使用oauth 2.0来使用gmail smtp。我使用aspose.dll使用授权 url 请求访问令牌。当我收到响应时,我没有获得刷新令牌。因此,如果以前的访问令牌已过期,则无法请求新的访问令牌。所以我想每次我的应用程序需要时都获取访问令牌。如果授权码过期,那么我不能遵循这种方法。

gmail oauth2 的授权码会过期吗?

4

1 回答 1

10

Google 的 OAuth 2.0 确实提供了刷新令牌!!!此处的此链接解释了各种流程,并讨论了应用程序获取所有场景的访问权限和可选的刷新令牌。

授权码会过期!这就是 OAuth 协议所规定的。我无法找到此处引用 Google 的确切时间段,但我确实知道对于Facebook而言),授权代码将在 10 分钟后到期(请参阅链接中的 12 月 5 日更改。)。
刷新令牌可用于像您这样的用例。如果要保留授权代码,刷新令牌和授权代码之间会有什么区别。

我建议您查看您正在使用的 Aspose 库的文档。

PS - 授权码/访问令牌/刷新令牌均由中央 Google 授权服务器发布!所以,我们谈论的是谷歌的授权码,正如我所说,它确实会过期。

祝你好运!

编辑 - 为您添加更多信息

     The authorization code generated by the
     authorization server.  The authorization code MUST expire
     shortly after it is issued to mitigate the risk of leaks.  A
     maximum authorization code lifetime of 10 minutes is
     RECOMMENDED.  The client MUST NOT use the authorization code
     more than once.  If an authorization code is used more than
     once, the authorization server MUST deny the request and SHOULD
     revoke (when possible) all tokens previously issued based on
     that authorization code.  The authorization code is bound to
     the client identifier and redirection URI.

来源 - https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-31
第 4.1.2 节

于 2013-05-03T18:05:38.970 回答