gpt4 book ai didi

ruby-on-rails - API模式下Doorkeeper如何处理OAuth流程?

转载 作者:行者123 更新时间:2023-12-05 06:16:02 36 4
gpt4 key购买 nike

场景很简单:

  • 一个 Rails API-only 服务器,带有 Doorkeeper 供应商
  • 一个移动应用和一个SPA(比方说React),用户想要使用电子邮件和密码注册和登录

当你有一个普通的 Rails Stack 时,你需要定义一个 authorizeUrl 用户被重定向以提供他们的凭据并返回到具有 authorizationCode 的网络/移动应用程序。在 API 模式下,基本上您的“authorizeUrl”位于同一个应用程序中。

当您的提供商无法提供登录页面(因为它是仅 API 服务器)时,处理 OAuth 流程的合适方法是什么

最佳答案

您必须在 React 中构建一个登录表单,该表单发送一个 HTTP POST 请求以获取 OAuth token ,比如在/oauth/token 上,其中包含用户输入的凭据(在请求正文中,与客户端 ID/密码一起(取决于您的 OAuth 服务器配置)。

然后在响应时您将获得一个访问 token ,您可以将其添加到每个后续请求的授权 header 中,以便您的服务器知道其合法请求。

通常,如果您使用 Axios作为 HTTP 客户端,可以使用拦截器将访问 token 添加到每个请求(如此处解释:https://medium.com/swlh/handling-access-and-refresh-tokens-using-axios-interceptors-3970b601a5da)。

这是“标准”OAuth 工作流程,我不确定您的后端堆栈是否暗示了一些关于身份验证的自定义,但看起来这个工作流程仍然有效。

关于ruby-on-rails - API模式下Doorkeeper如何处理OAuth流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62236940/

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