나는 파이썬에서 Pysaml2 라이브러리를 사용하여 서비스 제공자를 만들고있다. 내 신원 제공 업체 인 Okta에 AuthnRequest를 보내려고합니다. 내 AuthnRequest은 다음과 같습니다SAML AuthnRequest Matter의 XML 네임 스페이스가 있습니까?
<ns0:AuthnRequest AssertionConsumerServiceURL="http://myserviceprovider:8000/saml/acs"
Destination="https://oktapreview.com/app/myserviceprovider/k40ctg3zVVFQYUMEJFTB/sso/saml"
ID="id-02a0e2290bbc7fda421483af6b02a9a5" IssueInstant="2015-01-20T22:57:02Z"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Version="2.0" xmlns:ns0="urn:oasis:names:tc:SAML:2.0:protocol">
<ns1:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity" xmlns:ns1="urn:oasis:names:tc:SAML:2.0:assertion">http://myserviceprovider:8000/metadata.xml</ns1:Issuer>
<ns0:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>
</ns0:AuthnRequest>
내 SP는 302 okta IDP로 리디렉션 시작하고이 SAML 요청을 보냅니다. 그런 다음 Okta 자격 증명을 입력하는 로그인 페이지가 표시됩니다. 그런 다음 okta.com/app/UserHome (Okta의 홈페이지)으로 이동하여 내 SP의 주장 소비자 서비스 엔드 포인트에 SAML 어설 션을 다시 보내지 않습니다.
Firefox에서 SAML 추적기를 사용하여 SAML 활동을 확인합니다.
다른 서비스 제공 업체 (예 : box.net)의 다른 SAML AuthnRequests를 살펴본 후에 AuthNRequest의 XML 네임 스페이스가 okta가 ACS 어설 션을 보내지 않도록 할 것이라고 생각하게되었습니다.
내 네임 스페이스는 'saml2p'및 'samlp'대신 'ns0'및 'ns1'입니다.
이로 인해 문제가 발생합니까?
pysaml2를 사용하여 서비스 제공 업체를 구성하는 방법에 대한 다른 권장 사항도 제공됩니다.