【问题标题】:B2B API Authentication with OpenID connect使用 OpenID 连接的 B2B API 身份验证
【发布时间】:2021-04-02 20:58:26
【问题描述】:

我们使用用户凭据流为 UI 前端登录实现了 OpenId Connect,它将用户重定向到登录页面。
我们希望在没有重定向流的情况下将 OpenId Connect 用于我们的 B2B API。

  1. B2B API 用户不受信任,无法提供客户端密码
  2. B2B API 是机械化的,需要登录而不重定向到登录 UI 页面

是否存在第三方用户可以登录并接收访问/ID 令牌并将其传递给我们的 API 的流程? 这种情况的最佳做法是什么?

谢谢

【问题讨论】:

    标签: oauth-2.0 authorization openid-connect


    【解决方案1】:

    要正确回答这个问题,重要的是要确定精确的客户端使用情况,因为解决方案总是以此为基础。

    场景 1:OAUTH 客户端是业务合作伙伴的后端

    B2B API 通常由业务合作伙伴编写的代码调用,可能是在他们自己的 Web API 中。在这种情况下,Client Credentials Grant 被使用,并且可以使用基于相互 TLS 的形式来获得更高的安全性。

    一个常见的设置是业务合作伙伴 UI 调用业务合作伙伴 API,然后它可以从您的 B2B API 返回数据。

    场景 2:OAUTH 客户端是您自己的 UI,由业务合作伙伴用户使用

    在这种情况下,运动部件如下:

    • 用户被重定向以对您的应用进行身份验证
    • 您的授权服务器处理重定向并颁发令牌
    • 您的 UI 和 API 使用来自此授权服务器的令牌

    授权服务器可以执行进一步的重定向,以便业务合作伙伴的用户可以使用熟悉的凭据登录。我的Federated Logins Blog Post 描述了这是如何配置的。

    您的场景?

    如果以上内容不能回答您的问题,请更详细地描述您的情况:

    • 为什么要避免重定向?
    • 用户是否已经登录到自己的应用?

    【讨论】:

      猜你喜欢
      • 2019-04-24
      • 2015-03-11
      • 2019-09-10
      • 2023-03-27
      • 1970-01-01
      • 2016-06-28
      • 2019-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多