python - 使用 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""
。
提前致谢。
解决方案
你的问题有点含糊。您似乎已经发送了一个 authenrequest 并得到了响应,而您端的应用程序正在抛出签名验证错误。如果这是正确的,那么您可能没有从您的应用程序中定义的身份提供者获得正确的 cacert。
关于 SAML 和验证 XML 签名的问题确实需要 base64 中的原始 xml,因此可以尝试检查签名。
推荐阅读
- php - php include 不能从在线服务器工作
- php - 在 Opencart 中排序
- python - 使用 Python 从 YAML 中检索批量数据
- java - 所有 gms/firebase 库必须使用完全相同的版本。找到版本 15.1.0、15.0.2、15.0.1、15.0.0。
- .net - SignalR AspNetCore v1.0.0:直接使用 Connection 对象
- javascript - 角度 2 settimeout 这是未定义的
- c# - 文本设置代码隐藏时,TextBox 不会扩展其宽度和高度
- ruby-on-rails - 为rails编写正则表达式的最佳方法是什么
- python - 字符分割不适用于 3,8
- javascript - 无法检查视图返回的空数据