我正在使用Azure AD开发基于SAML的SSO。
我完成了所有必需的设置,能够进行SAMLRequest,并能够在回复URL上获得SAMLResponse
(令牌加密菜单导入证书(Base64(以加密令牌。(但是该响应是BASE64编码和加密的。
我参考了下面的链接。管理Azure Active Directory 中联合单一登录的证书
我解码了BASE64,然后得到了xml数据。
示例xml数据
<samlp:Response ID="_8b8b42b6..........................xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">https://sts.windows.net/.........../</Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
</samlp:Status>
<EncryptedAssertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
......
......
......
</xenc:CipherData>
</xenc:EncryptedData>
</EncryptedAssertion>
</samlp:Response>
我想解密属性";EncryptedAssertion">
您需要使用证书中包含的公钥来解密EncryptedAssertion,该公钥是IdP元数据的一部分。但是,您没有告诉您正在使用哪个SAML服务提供程序(或SAML库(。