【发布时间】:2018-07-03 10:02:26
【问题描述】:
我正在尝试为 Tableau Online 配置 SAML 连接。我正在使用 pysaml 2 来实现这一点。配置的第一部分很顺利,Tableau 似乎发现我的 IdP 恰到好处,我输入了我的凭据,但随后登录崩溃。 事实是 Tableau 显然在等待签名的答案,这不是由 pysaml 发送的。 这是我遇到的错误:
Response nor included Assertion is signed], displayableMessage=[null], exceptionClass=[null]
经过一番研究,我发现这与:
Identity Provider does not sign SAML assertions.
Verify your IdP configuration.
在代码中挖掘之后,我可以发现 authnrequest 中存在的证书未被 pysaml2idp 检测到。所以他没有将证书放在响应中,所以我的 SP 对此不满意。
这是 saml 身份验证请求:
<?xml version='1.0' encoding='UTF-8'?>
<ns0:AuthnRequest xmlns:ns0="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:ns1="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" AssertionConsumerServiceURL="https:/XXXXXXXXXXXXXXXXXXXx" Destination="https://auth.my-numii.io/sso/post" ForceAuthn="false" ID="a114ce90gdg6h2ff1beie36g2jjffj7" IsPassive="false" IssueInstant="2018-06-28T07:30:43.296Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Version="2.0"><ns1:Issuer>https://sso.online.tableau.com/public/sp/metadata?alias=ea962d84-5953-435d-a6db-71090a3b3e25</ns1:Issuer><ns2:Signature><ns2:SignedInfo><ns2:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><ns2:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /><ns2:Reference URI="#a114ce90gdg6h2ff1beie36g2jjffj7"><ns2:Transforms><ns2:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><ns2:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></ns2:Transforms><ns2:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /><ns2:DigestValue>mb4DBX4olvq8tZFtq+zMgSOcBLPjNxi+VbLCyKsaH20=</ns2:DigestValue></ns2:Reference></ns2:SignedInfo><ns2:SignatureValue>T4AK7DNDJ4pMrXB8ndmzXtvyN6RM7sjuAQ9q9l6l4+0P7mdw3JZ3TQKjB9sgwDEwb9Y4ILOrxjELUWLTV7kSXFai8a+E6j241Djmqw+LgzvLXBKFLgamVeizise78cE9WWjZonSOc0MNPYUyTdognFAlREasKkV6Rv6j4wkHu98=</ns2:SignatureValue><ns2:KeyInfo><ns2:X509Data><ns2:X509Certificate>MIICozCCAgygAwIBAgIGAWQ15g7DMA0GCSqGSIb3DQEBCwUAMGwxOzA5BgNVBAsMMmNvbS50YWJs
ZWF1c29mdHdhcmUuc2l0ZXNhbWwuY29yZS51dGlsLkNyeXB0b1V0aWxzMS0wKwYDVQQDDCRlYTk2
MmQ4NC01OTUzLTQzNWQtYTZkYi03MTA5MGEzYjNlMjUwHhcNMTgwNjI0MDc0MzQ2WhcNMjgwNjI1
MDc0MzQ2WjBsMTswOQYDVQQLDDJjb20udGFibGVhdXNvZnR3YXJlLnNpdGVzYW1sLmNvcmUudXRp
bC5DcnlwdG9VdGlsczEtMCsGA1UEAwwkZWE5NjJkODQtNTk1My00MzVkLWE2ZGItNzEwOTBhM2Iz
ZTI1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOrUrIzIyKD6hTQBWdxLVtztLXlQIgvEXp
ICdpuSVGZKga+zxcxB9s0qiDN4nYaS9MAYCxnZDO8aiM2Kx5VPygpyv0Vmh/9Ryq61BCEAuVgjNP
OvN158Qw3yGE3pPaGXkPLjCFc6kpdcKakjTB/kHpyZPRRpDnu6xYemO0fEWq/wIDAQABo1AwTjAM
BgNVHRMBAf8EAjAAMB0GA1UdDgQWBBS9YsmNneD8YD3mhYNHs42pQ3MQ9jAfBgNVHSMEGDAWgBS9
YsmNneD8YD3mhYNHs42pQ3MQ9jANBgkqhkiG9w0BAQsFAAOBgQANA3+/sAu7pxI2lmRVDNiiA8wK
YfFuVImZXe1+12priFeOVJuwKCMTfUXPM0rZ+Ktl803uBFPhpnzWCd25vnU/PgMEyISGNw72wzt4
az7z1O7PlLDEPjGCHCE/aHv/HNnJAMKK+hzJ9XPBgk2wLFixa3YOAbZ2FPQ1gurNBfJaiA==</ns2:X509Certificate></ns2:X509Data></ns2:KeyInfo></ns2:Signature></ns0:AuthnRequest>
我想我在这里遗漏了一些东西。签署我对 Tableau Online 的回答是否有任何“技巧”?
【问题讨论】:
标签: python tableau-api saml