【问题标题】:Understanding Oath 2.0 Autorization Code Flow了解 Oauth 2.0 授权代码流程
【发布时间】:2018-08-05 19:52:25
【问题描述】:

为什么我们需要先联系 Oath Auth 端点以获取授权码,然后一旦我们收到授权码,我们需要再次联系 Oauth Auth 端点以获取访问令牌,以便我们可以调用 Web 服务?

为什么不在用户成功登录后在第一步返回访问令牌?

此外,Web 服务 (API) 如何验证访问令牌是否合法?

【问题讨论】:

    标签: azure oauth-2.0 azure-ad-b2c


    【解决方案1】:

    为什么我们需要先联系 Oath Auth 端点以获取授权码,然后一旦我们收到授权码,我们需要再次联系 Oauth Auth 端点以获取访问令牌,以便我们可以调用 Web 服务?

    因此网络服务(或依赖方)永远不会看到用户的凭据。 由于此流程的工作方式,用户也无法看到应用程序的凭据。 用户也无法获取访问令牌以自己使用它,尽管这实际上并没有那么重要。隐式授予流实际上可以满足您的要求,允许您直接从授权端点获取访问令牌。但这主要是针对单页应用程序,这是最简单的选择。 授权码授予流程允许应用通过客户端密钥或证书使用更强的身份验证。

    顺便说一句,这被称为 OAuth 舞蹈 :)

    为什么不在用户成功登录后在第一步返回访问令牌?

    请参阅我上面提到的关于隐式授权流程。

    此外,Web 服务 (API) 如何验证访问令牌是否合法?

    通过检查数字签名。 Azure AD(和 B2C)为他们用于在众所周知的端点签名的密钥对发布公钥。 应用中的身份验证部分必须通过定义的公钥检查 JWT 签名是否有效。

    【讨论】:

      猜你喜欢
      • 2016-10-15
      • 2015-12-11
      • 1970-01-01
      • 2014-11-04
      • 2020-03-01
      • 2020-12-11
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多