首页 > 解决方案 > 使用 Django SAML2 Auth 和 AzureAD 实现 SSO 时出现的问题

问题描述

应用程序抛出的错误是:

ERROR:saml2.sigver:check_sig:

ERROR:saml2.response:correctly_signed_response: Failed to verify signature

ERROR:saml2.entity:Signature Error: Failed to verify signature

ERROR:saml2.client_base:XML parse error: Failed to verify signature

这似乎是一个Windows问题。有谁知道我应该如何实现这个?用于验证 XML 的命令是:

C:\Windows\xmlsec1.exe --verify --enabled-reference-uris empty,same-doc --enabled-key-data raw-x509-cert --pubkey-cert-pem C:\Users\me\AppData\Local\Temp\tmp8wssc6_f.pem --id-attr:ID urn:oasis:names:tc:SAML:2.0:assertion:Assertion --node-id _579304c7-f1c4-5918-83ee-4b33c5df1e00 --output C:\Users\me\AppData\Local\Temp\tmpw9lbnowc.xml C:\Users\me\AppData\Local\Temp\tmpcg9l7jik.xml

它返回b""

提前致谢。

标签: pythondjangoazure-active-directorysaml-2.0

解决方案


你的问题有点含糊。您似乎已经发送了一个 authenrequest 并得到了响应,而您端的应用程序正在抛出签名验证错误。如果这是正确的,那么您可能没有从您的应用程序中定义的身份提供者获得正确的 cacert。

关于 SAML 和验证 XML 签名的问题确实需要 base64 中的原始 xml,因此可以尝试检查签名。


推荐阅读