gpt4 book ai didi

rest - 了解 OAuth2 流程

转载 作者:行者123 更新时间:2023-12-02 08:53:22 26 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序,该应用程序使用使用 OAuth 协议(protocol)的 REST 服务。在第一个事件中,应用程序显示登录屏幕。这是流程:

1)用户输入她的用户名和密码。

2) 应用程序向 REST 服务发出请求,提供用户名和密码。

3) REST 服务检查凭据,如果正确,则请求 access_token到我的 OAuth2 提供商服务器。

4) REST 服务向应用程序提供 access_token 的应答和 refresh_token

5) 在对 REST 服务器的下一个请求(获取人员、文章等数据)中,应用程序将提供 access_tokenrefresh_token .

6) 当 REST 服务处理请求时,将验证 access_token (使用我的 OAuth 服务器的 token 信息端点)。

7) 如果 access_token 正确且未过期,REST 服务将返回应用程序请求的数据。

当 REST 服务检测到 access_token 时已过期,请使用 refresh_roken 索取另一个.

现在,我的问题:

当 REST 服务检索新的 access_token 时旧的过期后,REST 服务是否将其发送到该响应中的应用程序?

如果是这样,应用程序会在每个请求/响应中检查是否有新的 access_token已从 REST 服务发送?

我不知道我的方式是否正确,我正在尝试理解流程。

谢谢。

最佳答案

假设不涉及浏览器,并且应用程序(也称为客户端)使用所谓的资源所有者密码凭据授予,流程为:

  1. 用户(又名资源所有者)向客户端提供他/她的用户名和密码

  2. 客户端向授权服务器发出 token 请求,提供用户名和密码

  3. 授权服务器检查凭据,如果正确,它会在响应中向客户端提供访问 token 和可选的刷新 token

  4. 在对 REST 服务器的请求中(获取人员、文章等数据),客户端将提供访问 token

  5. 当 REST 服务处理请求时,它将调用授权服务器的 token 验证端点或通过在本地验证 token (例如,如果访问 token 是 JWT)来验证访问 token 。

  6. 如果访问 token 正确、未过期并且具有正确的权限(也称为“范围”),REST 服务将返回客户端请求的数据

  7. 当客户端检测到 access_token 已过期(例如,因为 REST 服务器返回错误)时,它会使用所谓的刷新 token 授予/流程,使用刷新 token 向授权服务器请求另一个访问 token

关于rest - 了解 OAuth2 流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29394033/

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