ADFS idP 首先与另一个 idP 进行检查?

ADFS idP 首先与另一个 idP 进行检查?

我试图确定可能性的授权流程是:

  1. 用户前往https://app.example.com/
  2. app.example.com没有用户的会话,因此它会将用户发送到https://adfs.example.com
  3. adfs.example.com没有用户会话
    • 用户没有会话
      1. adfs.example.com充当 SP 并请求https://notadfsidp.example.com身份验证
      2. 用户与 有会话,notadfsidp因此将发送回adfs已验证身份,然后又发送回已app验证身份
    • 用户有一个会话
      • 用户被重定向回https://app.example.com已验证

情况:

我有一个使用中科院验证用户身份。由于我无法控制的情况,CAS 服务器会在用户登录时捕获用户的凭据,以便将其用于 SSO 到各种服务(这是工作中的障碍)。他们可以 SSO 到的一个或多个服务由本地 ADFS 实例支持。因此,理想的情况是,当他们访问其中一个服务时,ADFS 服务器可以从 CAS 服务器获悉他们已登录,门户不必使用他们存储的凭据通过 ADFS 验证他们的身份。

如果上述流程不可行,是否可以向 ADFS 服务器发送一些消息,告知其用户已在其他地方进行了身份验证,并且他们应该与 ADFS 服务器进行会话?

注意:我对 SAML 的了解非常有限,并且对管理 ADFS 服务器(那是我的同事)一无所知。

编辑 #1:我需要透明的身份验证。换句话说,在用户通过身份验证后,notadfsidp任何访问adfsfrom 的操作app都不需要用户执行任何操作。

答案1

实际上,其工作方式是通过 Home Realm Discovery。

https://notadfsidp.example.com配置为声明提供者https://adfs.example.com

当用户导航至https://app.example.com/他们被重定向到https://adfs.example.com然后他们会看到 HRD 屏幕,他们可以从中选择https://notadfsidp.example.com作为 IDP。他们在那里进行身份验证。

由于该应用程序信任 adfs.example.com,并且信任 notadfsidp.example.com,因此用户现在已通过身份验证。

答案2

首先,https://notadfsidp.example.com 也应该是 ADFS 服务器它充当国内流离失所者实际上在你的场景中。

ADFS 服务器https://adfs.example.com不会自动要求其他 ADFS 服务器进行身份验证。用户应该手动选择通过如下所示的 Home Realm Discovery 功能访问 IDP(或在 ADFS 世界中称为声明提供者)。

身份验证完成后,用户令牌将被缓存在浏览器 cookie 和 ADFS 中,以便用户再次访问应用程序时获得 SSO 能力。

在此处输入图片描述

相关内容