Ping联邦asp.net配置saml sso

问题描述 投票:2回答:2

我有asp.net MVC应用程序我想进行SSO Windows身份验证。我使用Ping Federate作为IdP和SP。当我进入网站后,它会在我输入凭据后重定向到SSO页面,它会将SAML发布到SP,并且SP会重定向到该站点。

问题我的应用程序无法识别用户已通过身份验证并重定向回已经对用户进行身份验证的SSO页面再次将SAML发布到SP并且存在无限循环。我错过了什么?我需要在web.config文件中更改某些内容吗?

这就是我在web.config中所拥有的

<authentication mode="Windows">
</authentication>
<identity impersonate="true" /> 
c# asp.net saml-2.0 pingfederate
2个回答
3
投票

根据您在SP方面使用的适配器类型,我建议使用适当的套件。作为OpenToken套件,无代理套件等

我以前遇到过同样的问题,所以你必须做的就是完成应用程序中的流程并在响应上写一个cookie。这取决于您使用的是哪个适配器,但结尾是相同的。

如果您使用的是OpenToken Adapters,则必须通过查询字符串或表单发布来接收开放令牌。您必须使用OpenToken代理工具包打开该令牌。一旦你这样做,你会发现你的“属性”或“声明”,然后你必须在响应中写一个cookie,并使用该cookie启动会话。

如果您使用的是无代理适配器,您将通过查询字符串或表单发布来接收REF ID。您必须获取该REF ID并在PingFederate中调用Pickup Endpoint。该调用将返回声明,然后您必须再次编写cookie并启动会话。

在过去,我编写了一个HTTPModule来为我做这个,我重新利用了WS-Federation功能来编写我的cookie。最后,该站点将使用Ping进行身份验证,但是读取WIF cookie(如启用了WS-Federation的应用程序)可以保持会话继续运行。

但是,我们最终转向OpenIdConnect / OAuth2,这是一个较新的标准,不需要SP适配器。

我已经为OWIN发布了一个客户端,只要您在PingFederate中启用了OAuth2 / OpenIdConnect模块,就可以为您处理所有事情。

如果您搬家,这是链接。 https://www.nuget.org/packages/Owin.Security.Providers.PingFederate


0
投票

你可以试试asp.net saml sso connector。它支持多种idps,如ADFS,Azure AD,Bitium,Centrify,G Suite,JBoss Keycloak,Okta,OneLogin,Salesforce,AWS Cognito,甚至还有您自己的自定义身份提供商。它真的帮助我在我的.net应用程序中的sso。

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