@@ -167,7 +167,6 @@ def process_slo(self, keep_local_session=False, request_id=None, delete_session_
167167 self ._errors .append ('Signature validation failed. Logout Response rejected' )
168168 elif not logout_response .is_valid (self ._request_data , request_id ):
169169 self ._errors .append ('invalid_logout_response' )
170- self ._error_reason = logout_response .get_error ()
171170 elif logout_response .get_status () != OneLogin_Saml2_Constants .STATUS_SUCCESS :
172171 self ._errors .append ('logout_not_success' )
173172 else :
@@ -183,7 +182,6 @@ def process_slo(self, keep_local_session=False, request_id=None, delete_session_
183182 self ._errors .append ('Signature validation failed. Logout Request rejected' )
184183 elif not logout_request .is_valid (self ._request_data ):
185184 self ._errors .append ('invalid_logout_request' )
186- self ._error_reason = logout_request .get_error ()
187185 else :
188186 if not keep_local_session :
189187 OneLogin_Saml2_Utils .delete_local_session (delete_session_cb )
@@ -694,6 +692,15 @@ def _validate_signature(self, data, saml_type, raise_exceptions=False):
694692 if isinstance (sign_alg , bytes ):
695693 sign_alg = sign_alg .decode ('utf8' )
696694
695+ security = self ._settings .get_security_data ()
696+ reject_deprecated_alg = security .get ('rejectDeprecatedAlgorithm' , False )
697+ if reject_deprecated_alg :
698+ if sign_alg in OneLogin_Saml2_Constants .DEPRECATED_ALGORITHMS :
699+ raise OneLogin_Saml2_ValidationError (
700+ 'Deprecated signature algorithm found: %s' % sign_alg ,
701+ OneLogin_Saml2_ValidationError .DEPRECATED_SIGNATURE_METHOD
702+ )
703+
697704 query_string = self ._request_data .get ('query_string' )
698705 if query_string and self ._request_data .get ('validate_signature_from_qs' ):
699706 signed_query = self ._build_sign_query_from_qs (query_string , saml_type )
0 commit comments