在SP返回网址中发送到saml2 / ACS后,我们能否获得IDP发送的属性?

时间:2019-05-15 13:59:42

标签: c# asp.net-mvc sustainsys-saml2

我正在使用Sustainsys.Saml2.MVC对MVC应用程序实施Saml身份验证,并且可以成功将用户导航到IDP并获得对saml2 / ACS的saml响应。在阅读时,我们可以使用Claims来访问Saml响应参数,但是当我在Claims中搜索时,发现索赔与Saml response中写的相同,我找不到任何索赔。我需要获取一些在Saml响应中编写的属性,以继续执行我的其余部分。是否有解决方案来获得与应用程序中重试URL中发送给saml2 / Acs相同的Saml响应?

1 个答案:

答案 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>