@@ -56,6 +56,7 @@ def __init__(self, request_data, old_settings=None, custom_base_path=None):
5656 self .__session_index = None
5757 self .__authenticated = False
5858 self .__errors = []
59+ self .__error_reason = None
5960
6061 def get_settings (self ):
6162 """
@@ -98,6 +99,7 @@ def process_response(self, request_id=None):
9899
99100 else :
100101 self .__errors .append ('invalid_response' )
102+ self .__error_reason = response .get_error ()
101103
102104 else :
103105 self .__errors .append ('invalid_binding' )
@@ -124,6 +126,7 @@ def process_slo(self, keep_local_session=False, request_id=None, delete_session_
124126 logout_response = OneLogin_Saml2_Logout_Response (self .__settings , self .__request_data ['get_data' ]['SAMLResponse' ])
125127 if not logout_response .is_valid (self .__request_data , request_id ):
126128 self .__errors .append ('invalid_logout_response' )
129+ self .__error_reason = logout_response .get_error ()
127130 elif logout_response .get_status () != OneLogin_Saml2_Constants .STATUS_SUCCESS :
128131 self .__errors .append ('logout_not_success' )
129132 elif not keep_local_session :
@@ -133,6 +136,7 @@ def process_slo(self, keep_local_session=False, request_id=None, delete_session_
133136 logout_request = OneLogin_Saml2_Logout_Request (self .__settings , self .__request_data ['get_data' ]['SAMLRequest' ])
134137 if not logout_request .is_valid (self .__request_data ):
135138 self .__errors .append ('invalid_logout_request' )
139+ self .__error_reason = logout_request .get_error ()
136140 else :
137141 if not keep_local_session :
138142 OneLogin_Saml2_Utils .delete_local_session (delete_session_cb )
@@ -218,6 +222,15 @@ def get_errors(self):
218222 """
219223 return self .__errors
220224
225+ def get_last_error_reason (self ):
226+ """
227+ Return the reason for the last error
228+
229+ :returns: Reason of the last error
230+ :rtype: None | string
231+ """
232+ return self .__error_reason
233+
221234 def get_attribute (self , name ):
222235 """
223236 Returns the requested SAML attribute.
0 commit comments