试图使用Systainsys.SAML2库(ASP.NET webforms)理解SAML2身份验证 我正在尝试集成Sustamesys库,这是我为较旧的.NET Framework(4.8)WebForms应用程序进行的单词集成的一部分。我正在使用位于此处的HTTPMODULE指令:...

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

https://prabhasinamdar.medium.com/secure-saml-authentication-using-sustainsysys-net-net-library-da9557fbc7cd

...要达到我可以使用Azure充当身份提供商的地步,甚至可以用某种SAML数据包调用我的网站的ACS页面。问题是我不知道该怎么做下一步。我需要知道SAML数据包是否有效,如果是的,请查找用户并将其登录到网站。我假设Sustainsys正在做验证,但是我不知道我应该怎么知道它在做什么。

我猜想我的第一个问题真的是... Systainsys库是否期望我正在使用.NET身份系统?因为我不是。但是我注意到,您必须在Web的一部分中添加的某些模块。Config指令似乎是身份模块。

修理我需要使用.NET身份,我该如何从这里开始?我在Azure的响应中看到了几个SAML2 Cookie,但是如何从数据包中提取断言等。 Edit:一些其他信息: 我能够启用日志记录,在对Azure的验证请求期间,我看到以下日志消息:

Expanded Saml2Url AssertionConsumerServiceUrl: https://localhost:44333/Saml2/Acs SignInUrl: https://localhost:44333/Saml2/SignIn LogoutUrl: https://localhost:44333/Saml2/Logout ApplicationUrl: https://localhost:44333/ Initiating login to https://sts.windows.net/<MY APP GUID> Sending message over Http Redirect Binding <saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" ...

我从ACS页面上的Azure那里获得了一个SAML数据包,我可以将其base64解码,并且看起来不错,并且包括我期望的属性。我还看到一个叫做“ SAML2”的饼干。但是我不知道其中有什么。这是来自Azure还是Sustavesys正在创造的东西?

在任何情况下,我仍然对下一步感到困惑。用户仍然是不受欢迎的,我不知道如何从SAML响应中提取属性,以便我可以登录它们。另一个似乎很奇怪的是,当ACS页面加载ACS页面时,Systainsys没有记录。我只看到在authnrequest部分期间记录。这是否意味着我错过了某个地方?

我昨天意识到我所做的愚蠢的事情引起了我的困惑。我以为我应该在 /saml /acs创建一个页面来处理IDP的响应。一旦我将该页面重命名为其他内容,httpmodule为我处理了所有内容,并对响应进行了解析/验证。它还使用我不熟悉的“联合” cookie身份验证对用户进行身份验证。

现在我的问题是,我有没有办法简单地通知SAML验证成功,让我使用普通的ASP.NET“表单”身份验证来处理身份验证?基本上,我只需要查看来自SAML数据包的名称ID,然后使用它查找数据库中的相应用户并验证它们。

webforms saml-2.0 sustainsys-saml2
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.