【问题标题】:OAuth 2.0 Auth code grant - Is there anyway to Authenticate user when requesting for Auth CodeOAuth 2.0 Auth code grant - 在请求 Auth Code 时是否仍然需要对用户进行身份验证
【发布时间】:2017-11-05 19:35:31
【问题描述】:

使用 OAuth 2.0 身份验证代码授予以编程方式对用户进行身份验证的最佳方式是什么?

想知道是否有办法按照规范-https://www.rfc-editor.org/rfc/rfc6749#section-4.1 中的说明将步骤 A 和 B 结合起来,即将用户 ID 和密码作为授权调用的一部分传递?就像是, /authorize?response_type=code&client_id=s6BhdRkqt3&state=xyz &redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb&user_id=john.doe@mail&password=xxxx

我相信一种方法是 submit() 授权服务器返回的带有用户 ID 和密码的表单。考虑到它不是公共 API,采用这条路线会创建对表单的依赖关系以及对其进行的任何更改。

【问题讨论】:

    标签: oauth-2.0


    【解决方案1】:

    授权码授权旨在与完整的浏览器一起使用,即不应用于以编程方式对用户进行身份验证。事实上,以编程方式使用它会破坏 OAuth 2.0 的目的,即不向客户端泄露用户的凭据。

    客户端凭据和资源所有者密码凭据等授权旨在用于非浏览器客户端。

    或者,您可以使用授权代码授权在浏览器中为您的客户端创建 access_token 和 refresh_token,然后将令牌传递给您的非浏览器客户端,以便它可以自行使用 refresh_token 获取新的访问令牌旧的过期了。

    【讨论】:

      猜你喜欢
      • 2013-05-08
      • 1970-01-01
      • 2021-04-23
      • 2014-10-13
      • 1970-01-01
      • 2017-08-11
      • 1970-01-01
      • 2016-11-29
      • 1970-01-01
      相关资源
      最近更新 更多