我有一个saml响应,在使用saml 2.0进行处理时给了我azure活动目录,整个过程正常完成,我发送一个saml请求,azure活动目录返回saml响应,执行我基于的整个过程这个guide,我一直在阅读,我注意到saml响应中的Azure AD发送此标记内的值:
<xenc:CipherData>
<xenc:CipherValue>VALUE HERE</xenc:CipherValue
</xenc:CipherData>
而不是在里面:
<AttributeStatement><Attribute Name="IDPEmail"><AttributeValue>[email protected]</AttributeValue></Attribute></AttributeStatement>
如documentation中所述。问题是,如何获得azure活动目录发送给我的真实值而不是这些编码值,我使用的是Python 3和Google App Engine,除了提到azure active directory和saml 2.0来进行登录过程,我在这个url中完成了SAML响应,以防它为我的问题提供更好的背景。
如上所述,您获得的SAML响应是加密的。具体来说,Azure正在加密一个名为CipherData
的加密体内的断言(包括你要查找的断言)。
您有两种选择:1 - 禁用SAML响应加密。 Azure AD将SAML响应加密称为SAML token encryption
,这有点令人困惑。您可以按照此guide禁用响应。您之前必须已上载加密公钥/证书。
2 - 将服务提供商配置为支持的加密SAML响应。
SAML令牌已加密。
您需要获取用于此的客户端证书并使用它来解密它。