The ECP clients conversation with the IDP should use the SOAP binding not the PAOS binding.
This commit is contained in:
@@ -23,10 +23,11 @@ programs.
|
|||||||
import cookielib
|
import cookielib
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from saml2 import soap, SAMLError
|
from saml2 import soap
|
||||||
from saml2 import saml
|
from saml2 import saml
|
||||||
from saml2 import samlp
|
from saml2 import samlp
|
||||||
from saml2 import BINDING_PAOS
|
from saml2 import SAMLError
|
||||||
|
from saml2 import BINDING_SOAP
|
||||||
from saml2.client_base import MIME_PAOS
|
from saml2.client_base import MIME_PAOS
|
||||||
from saml2.config import Config
|
from saml2.config import Config
|
||||||
from saml2.entity import Entity
|
from saml2.entity import Entity
|
||||||
@@ -112,10 +113,10 @@ class Client(Entity):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
_, destination = self.pick_binding("single_sign_on_service",
|
_, destination = self.pick_binding("single_sign_on_service",
|
||||||
[BINDING_PAOS], "idpsso",
|
[BINDING_SOAP], "idpsso",
|
||||||
entity_id=idp_entity_id)
|
entity_id=idp_entity_id)
|
||||||
|
|
||||||
ht_args = self.apply_binding(BINDING_PAOS, authn_request, destination,
|
ht_args = self.apply_binding(BINDING_SOAP, authn_request, destination,
|
||||||
sign=sign)
|
sign=sign)
|
||||||
|
|
||||||
if headers:
|
if headers:
|
||||||
@@ -162,7 +163,8 @@ class Client(Entity):
|
|||||||
|
|
||||||
return idp_response
|
return idp_response
|
||||||
|
|
||||||
def parse_sp_ecp_response(self, respdict):
|
@staticmethod
|
||||||
|
def parse_sp_ecp_response(respdict):
|
||||||
if respdict is None:
|
if respdict is None:
|
||||||
raise SAMLError("Unexpected reply from the SP")
|
raise SAMLError("Unexpected reply from the SP")
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user