Fixed authentication chain issue #15
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Authenticate method was raising AuthenticationFailed exception if the provided value for Authorization header does not match signature regular expression. It is ok if SignatureAuthentication is being used alone, but in an authentication chain, if another authentication class after SignatureAuthentication also uses Authorization header (for example TokenAuthentication) it will not work (AuthenticationFailed exception will break the chain).
I have changed authenticate method to return None if provided value for Authorization header does not match signature regular expression, allowing the next authentication class in the chain to handle it. AuthenticationFailed should be raised only if a wrong signature value is provided.
I updated test_bad_signature and added test_no_signature.