Identity Server Saml2AuthExtensions Idp initiated SSO



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

我们现在有一个客户,你想把一个链接放到那里自己的软件中来启动这个过程,创建一个ldp发起的请求。

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

干杯

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

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

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

最新更新