【问题标题】:Question on OpenID Connect, Saml and OAuth关于 OpenID Connect、Saml 和 OAuth 的问题
【发布时间】:2020-05-28 11:17:51
【问题描述】:
  • 我们当前的产品支持基于 SAML 和 Oauth2.0 的身份验证。
  • 客户拥有 Azure AD 并希望使用 Open ID 连接进行身份验证。

身份验证将主要用于 API 调用,客户系统将调用我们产品中的 API。

以下是问题 - 我们可以在 Web 服务中使用 SAML 进行身份验证吗 - 产品从 Oauth2.0 升级到基于 Open ID 的身份验证需要进行哪些更改。

【问题讨论】:

    标签: oauth-2.0 openid-connect saml-2.0


    【解决方案1】:

    不,您不能使用 SAML 调用 Web 服务,即 REST API。

    REST API 需要 JWT,而 SAML 生成 SAML 令牌。

    有一个 SAML 配置文件(不记名令牌)允许您将 SAML 令牌换成 JWT,但尚未广泛实施。

    【讨论】:

      【解决方案2】:

      OAuth2 是一种协议,它允许软件应用程序(称为客户端)获取访问令牌以代表用户调用 API。

      作为该协议的一部分,授权服务器需要对用户进行身份验证(以确保它授权对正确资源的访问)。

      授权服务器可以通过验证用户的凭据(用户名和密码、MFA 令牌等)来执行此操作,也可以将其委托给另一个身份提供者。在后一种情况下,SAML2 协议是一种将身份验证委托给外部身份提供者的常用协议。

      OpenID Connect 是 OAuth2 之上的一个扩展,它为客户端提供一个 ID 令牌,告诉它用户的实际身份(例如,访问令牌不一定包含用户名)以及他们何时登录。它还提供了一些会话管理,如注销等。

      如果您的应用程序使用 OAuth2 标准库,它可能已经支持 OpenID Connect。您的授权服务器是否支持基于 SAML 的联合取决于您使用的产品。

      【讨论】:

        猜你喜欢
        • 2012-06-17
        • 2018-04-05
        • 1970-01-01
        • 2015-12-11
        • 1970-01-01
        • 2023-03-18
        • 2018-07-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多