将OIDC IDP插入现有的SP SAML连接中

问题描述 投票:0回答:1

目前,我有一个依赖于SAML身份提供者的SP。它还支持用户直接登录SP。用户可以直接登录,也可以从SP开始,然后重定向到SAML身份提供者进行身份验证。

我正计划将SP转换为使用OIDC和IdSrv4,并且完全没有SP管理的凭据。我仍然希望支持SAML提供程序,但最好是通过新的OIDC IdP。将这个新的OIDC IdP添加到SAML流中的正确方法是什么?我:

  1. 让SP和SAML进行通信,然后将SAML响应传递给IdP进行翻译(这似乎不正确并且容易滥用)
  2. 具有某些上下文的SP重定向到OIDC IdP,知道要去SAML。然后,OIDC IdP处理SAML响应,并通过常规OIDC流向SP。
    1. 告诉IdP在某些情况下使用(重定向到)特定SAML IdP并在其他情况下提示OIDC IdP凭据的最佳实践是什么?
  3. 保留使用SAML IdP的SP并且还使用OIDC IdP吗?
  4. 还有什么?
oauth identityserver4 saml oidc
1个回答
0
投票

问题1

让SP和SAML进行通信,然后将SAML响应传递给IdP进行翻译(这似乎不正确并且容易滥用)

答案

OIDC和SAML是两个不同的身份联合协议,允许第三方身份提供者为依赖方的Web应用程序提供身份验证服务。

SAML SP只能将SAML身份验证请求发送到SAML IdP(身份提供者),因为OIDC IdP无法解码SAML身份验证请求。

问题2:使SP重定向到具有某些上下文的OIDC IdP知道要转到SAML。然后,OIDC IdP处理SAML响应,并通过常规OIDC流向SP。

What is best practice to tell IdP to use (redirect to) a certain SAML IdP in certain contexts and prompting for OIDC IdP creds in other contexts?

答案

OIDC IdP无法解码SAML身份验证请求,因为OIDC和SAML是两个不同的协议。

问题3:使用SAML IdP保留SP,并同时使用OIDC IdP?

答案

是。您可以使用SAML IdP保留SP,也可以部署OIDC RP(依赖方)以使用OIDC IdP。

(1)身份提供者可以配备OIDC IdP(身份提供者)SAML IdP,以支持OIDC和SAML协议。

例如,我们已经开发了Zero-Password Authentication and Authorization System作为身份提供者,以支持SAML,OIDC,OAuth和WS-Fed,也就是说,零密码身份验证和授权系统可以为任何人提供身份身份验证/联盟装有SAML SP,OIDC RP,OAuth RP或WS-Fed RP的Web应用程序。

(2)依赖方Web应用程序可以配备OIDC RP(依赖方)SAML SP(服务提供商),以支持OIDC和SAML协议。

例如,作为依赖方的Web应用程序,可以将Openstack配置为SAML SP或OIDC RP以分别与SAML IdP或OIDC IdP通信。

官方Openstack链接Configuring Keystone for Federation提供了有关如何将Openstack配置为SAML SP或OIDC RP的说明。

问题4

还有什么?

分辨率

您的Web应用程序登录页面可以分别为OIDC登录SAML登录提供两个按钮。

((1)单击OIDC登录]按钮将用户重定向到您的身份提供者的OIDC API

您的身份提供者的OIDC API将请求用户提交其身份验证凭据,例如用户名/密码。

一旦用户通过身份验证,该用户将被重定向回您的Web应用程序的OIDC API

最后,用户将登录到您的Web应用程序。

(2)单击SAML登录按钮将用户重定向到您的身份提供者的SAML API

您的身份提供者的SAML API将请求用户提交其身份验证凭据,例如用户名/密码。

一旦对用户进行身份验证,该用户将被重定向回您的Web应用程序的SAML API

最后,用户将登录到您的Web应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.