summaryrefslogtreecommitdiff
path: root/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py
diff options
context:
space:
mode:
authorOmer Katz <omer.drow@gmail.com>2018-12-17 15:03:00 +0200
committerOmer Katz <omer.drow@gmail.com>2018-12-17 15:03:00 +0200
commitbaeb737f60f848a58f247a6ca8cf8b44445efcc0 (patch)
treee0d39fceafdbabda88684d79fca2b755c690dc26 /oauthlib/oauth2/rfc6749/grant_types/authorization_code.py
parent9faf472795c49008cc9b727b865b3a13d72ede50 (diff)
downloadoauthlib-baeb737f60f848a58f247a6ca8cf8b44445efcc0.tar.gz
Extract redirect handling to a common method.
Diffstat (limited to 'oauthlib/oauth2/rfc6749/grant_types/authorization_code.py')
-rw-r--r--oauthlib/oauth2/rfc6749/grant_types/authorization_code.py21
1 files changed, 3 insertions, 18 deletions
diff --git a/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py b/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py
index 355ea1b..0cbcb8c 100644
--- a/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py
+++ b/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py
@@ -9,7 +9,6 @@ import json
import logging
from oauthlib import common
-from oauthlib.uri_validate import is_absolute_uri
from .. import errors
from .base import GrantTypeBase
@@ -295,24 +294,10 @@ class AuthorizationCodeGrant(GrantTypeBase):
# https://tools.ietf.org/html/rfc6749#section-3.1.2
log.debug('Validating redirection uri %s for client %s.',
request.redirect_uri, request.client_id)
- if request.redirect_uri is not None:
- request.using_default_redirect_uri = False
- log.debug('Using provided redirect_uri %s', request.redirect_uri)
- if not is_absolute_uri(request.redirect_uri):
- raise errors.InvalidRedirectURIError(request=request)
- if not self.request_validator.validate_redirect_uri(
- request.client_id, request.redirect_uri, request):
- raise errors.MismatchingRedirectURIError(request=request)
- else:
- request.redirect_uri = self.request_validator.get_default_redirect_uri(
- request.client_id, request)
- request.using_default_redirect_uri = True
- 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)
+ # OPTIONAL. As described in Section 3.1.2.
+ # https://tools.ietf.org/html/rfc6749#section-3.1.2
+ self._handle_redirects(request)
# Then check for normal errors.