我们现在已经为我们的几个客户实现了您出色的Identity Saml2包。
然而,我们的一位客户写信给我们如下:
LogoutRequest需要签名(强制(,我需要添加您正在使用的证书签名到元数据中,以验证它是[你的申请]签署的。
相同的证书也用于对AuthnRequest进行签名(但是这是可选但优选的(
我们不知道该怎么办。如有任何建议,我们将不胜感激。
如果有帮助,下面是我们为该客户提供的应用程序web.config:
<add key="SamlSpSettings:entityid" value="https://fmcentralqa.csu.edu.au/sisfm-enquiry" />
<add key="SamlSpSettings:acs" value="https://fmcentralqa.csu.edu.au/SISfm-Enquiry/CSU/saml.aspx" />
<add key="SamlIdpSettings:entityid" value="https://idpqa.csu.edu.au/idp/shibboleth" />
<add key="SamlIdpSettings:loginurl" value="https://idpqa.csu.edu.au/idp/profile/SAML2/Redirect/SSO" />
<add key="SamlIdpSettings:logouturl" value="https://idpqa.csu.edu.au/idp/profile/SAML2/Redirect/SLO" />
<add key="SamlIdpSettings:signercert1" value="...................." />
<add key="SamlIdpSettings:saml2sessionindex" value="http://schemas.itfoxtec.com/ws/2014/02/identity/claims/saml2sessionindex" />
<add key="SamlIdpSettings:saml2nameidformat" value="http://schemas.itfoxtec.com/ws/2014/02/identity/claims/saml2nameidformat" />
<add key="SamlIdpSettings:uid" value="urn:oid:0.9.2342.19200300.100.1.1" />
<add key="SamlIdpSettings:emailaddress" value="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" />
<add key="SamlIdpSettings:name" value="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" />
<add key="SamlIdpSettings:givenname" value="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname" />
<add key="SamlIdpSettings:surname" value="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname" />
<add key="SamlIdpSettings:groups" value="http://schemas.microsoft.com/ws/2008/06/identity/claims/groups" />
谢谢。
SAML 2.0标准要求对LogoutRequest
进行签名是正确的。
您需要应用程序和配置证书的证书。
- 在配置文件中:https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/test/TestWebAppCore/appsettings.json#L16
- 并加载配置的证书:https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/test/TestWebAppCore/Startup.cs#L35
您也可以通过thumbprint
从计算机证书存储加载证书。
saml2Configuration.SigningCertificate = CertificateUtil.Load(StoreName.My, StoreLocation.LocalMachine, X509FindType.FindByThumbprint, Configuration["Saml2:SigningCertificateThumbprint"]);