gpt4 book ai didi

OAuth 2.0 token 和生命周期

转载 作者:行者123 更新时间:2023-12-03 12:17:02 25 4
gpt4 key购买 nike

我正在尝试理解 OAuth 2.0( SERVER SIDE FLOW )。让我们以 Google 联系人 API 为例。

根据规范,我已经在 Google 注册了我的应用程序并获得了客户端 ID 和客户端密码。我还提到了回调 URL。

获取访问 token 需要我做

  • 将用户重定向到具有所需查询字符串和标题的特定 URL,如 Google 网站上的 OAuth 文档中所述(https://accounts.google.com/o/oauth2/auth bla bla stuff)
  • 用户输入他们的凭据后,他们会被发送回回调 URL,如我已经在谷歌注册的我的应用程序中提到的。这里查询字符串参数 &code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp6 bla bla 也附加到回调 URL。因此现在已经获得授权码
  • 现在,我向 https://accounts.google.com/o/oauth2/token 发送请求使用我在上一步中获得的授权码,以便我获得访问 token 和刷新 token 。

  • 一旦我得到这个“访问 token ”,我就可以访问(比如联系 API 并获取用户联系人)

    到目前为止一切都很好。我也了解访问 token 的生命周期有限,我们可以使用“刷新 token ”获取新的访问 token 。

    A. 作为开发人员,我有责任存储并检查“访问 token ”是否有效吗?

    B. 如果我的网站是一个拥有“使用 Google/FB/twitter 登录”帐户的公共(public)网站,我怎么知道是同一用户在 2 天后返回网站,我不需要他要求登录,而是用户应该自动登录到站点?因为我不希望他通过授权过程,因为他们已经允许我的应用程序。

    E.G:我已经使用我的 FB 登录名登录 TechCrunch 网站,并且可以对文章发表评论。现在,即使在我访问 TechCrunch 1 周后,我也不必再次登录。他们怎么知道我和我已经通过了身份验证?

    最佳答案

  • 使用 OAuth 2.0 时,您会获得一个访问 token ,该 token 带有一个过期时间。您可以跟踪它何时过期,或者您可以继续使用它,直到收到 INVALID_TOKEN 错误。然后您需要调用刷新 token 服务来获取新的访问 token 。您的刷新 token 在被撤销之前是有效的。
  • 这是 OpenID,而不是 OAuth。流程类似,但用于将用户登录到您的服务。 OAuth 用于从另一个帐户检索用户数据。
  • 关于OAuth 2.0 token 和生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7372431/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com