Skip to content

Commit

Permalink
Merge pull request #567 from oauthlib/get_default_redir
Browse files Browse the repository at this point in the history
Add syntax check of get_default_redirect_uri
  • Loading branch information
JonathanHuot committed Aug 12, 2018
2 parents 05b1185 + a8df0a2 commit 52bd38d
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
2 changes: 2 additions & 0 deletions oauthlib/oauth2/rfc6749/grant_types/authorization_code.py
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,8 @@ def validate_authorization_request(self, request):
log.debug('Using default redirect_uri %s.', request.redirect_uri)
if not request.redirect_uri:
raise errors.MissingRedirectURIError(request=request)
if not is_absolute_uri(request.redirect_uri):
raise errors.InvalidRedirectURIError(request=request)

# Then check for normal errors.

Expand Down
16 changes: 16 additions & 0 deletions tests/oauth2/rfc6749/endpoints/test_error_responses.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,22 @@ def test_invalid_redirect_uri(self):
self.assertRaises(errors.InvalidRedirectURIError,
self.mobile.create_authorization_response, uri.format('token'), scopes=['foo'])

def test_invalid_default_redirect_uri(self):
uri = 'https://example.com/authorize?response_type={0}&client_id=foo'
self.validator.get_default_redirect_uri.return_value = "wrong"

# Authorization code grant
self.assertRaises(errors.InvalidRedirectURIError,
self.web.validate_authorization_request, uri.format('code'))
self.assertRaises(errors.InvalidRedirectURIError,
self.web.create_authorization_response, uri.format('code'), scopes=['foo'])

# Implicit grant
self.assertRaises(errors.InvalidRedirectURIError,
self.mobile.validate_authorization_request, uri.format('token'))
self.assertRaises(errors.InvalidRedirectURIError,
self.mobile.create_authorization_response, uri.format('token'), scopes=['foo'])

def test_missing_redirect_uri(self):
uri = 'https://example.com/authorize?response_type={0}&client_id=foo'

Expand Down

0 comments on commit 52bd38d

Please sign in to comment.