我正在使用Sustainsys.Saml2.MVC对MVC应用程序实施Saml身份验证,并且可以成功将用户导航到IDP并获得对saml2 / ACS的saml响应。在阅读时,我们可以使用Claims来访问Saml响应参数,但是当我在Claims中搜索时,发现索赔与Saml response中写的相同,我找不到任何索赔。我需要获取一些在Saml响应中编写的属性,以继续执行我的其余部分。是否有解决方案来获得与应用程序中重试URL中发送给saml2 / Acs相同的Saml响应?
答案 0 :(得分:0)
要从发送到Saml2 / ACS的SAml响应中获取所需的属性,我们需要在webconfig中声明sustainsys元素时定义所需的属性: 就我而言,我这样做是:
<nameIdPolicy allowCreate="true" format="Persistent" />
<metadata>
<requestedAttributes>
<add friendlyName="email" name="urn:email" nameFormat="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" isRequired="true" />
<add friendlyName="xdsuser" name="urn:xdsuser" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true"></add>
<add friendlyName="globaluser" name="urn:globaluser" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true"></add>
<add friendlyName="groups" name="groups" nameFormat="urn:oasis:names:tc:SAML:2.0:assertion" isRequired="true"></add>
<add name="Minimal" />
</requestedAttributes>
</metadata>
<identityProviders>
<add entityId="https://myIDPID" metadataLocation="~/App_Data/IDPConfig.xml" signOnUrl="https://MyIDPSignonUrl" allowUnsolicitedAuthnResponse="true" loadMetadata="true" />
</identityProviders>