0

我们目前的身份服务器设置带有 Sustainsys/Saml2 扩展,以允许 3 方客户端通过 sso 登录到我们的产品,其中请求由客户端发起,点击我们的登录页面以启动请求。

我们现在有一个客户,您希望将链接放入自己的软件中以启动该过程,创建一个 ldp 发起的请求。

我的问题是如何使用身份服务器和 Saml2AuthExtensions 来实现这一点。我看过了,我看不到任何可能允许它通过的额外内容。它是开箱即用的,还是我需要设置其他东西?

干杯

4

1 回答 1

2

SAML2 标准支持“Idp 启动登录”,可以在 Sustainsys.Saml2 库中使用AllowUnsolicitedAuthnResponseIdp 上的标志启用。然而,这是一个坏主意,因为 idp 启动的流程在设计上容易受到会话固定攻击。我见过人们让 IdentityServer 与 idp 启动登录一起工作,但这很尴尬,因为 IdentityServer 不是为支持它而构建的。

使用 OIDC 方式要好得多。让客户将链接直接指向客户端应用程序(我假设最终目标是 IdentityServer 的客户端,使用 OIDC)。然后在客户端上创建一个端点,该端点启动对 IdSrv 的 OIDC 登录,并使用 amr 值向 IdSrv 指示应使用 Saml2 进行身份验证。这可以提供一个解决方案,其中用户单击链接、转到客户端、重定向到 IdSrv、重定向到他们自动登录的 Saml2 Idp(使用例如 Windows Auth 或现有会话)。然后它们会自动重定向回 IdSrv,而 IdSrv 又会重定向回目标应用程序。

从用户的角度来看,他们有一个链接可以自动登录到应用程序。

于 2019-08-16T17:12:08.200 回答