diff options
author | Mark Gregson <mark.gregson@anu.edu.au> | 2019-06-06 14:08:18 +1000 |
---|---|---|
committer | Mark Gregson <mark.gregson@anu.edu.au> | 2019-06-06 14:08:18 +1000 |
commit | 09bcb01032a21a4bfa0c478ea8ae66ec8ace957a (patch) | |
tree | d97093236062ecf236ff9d05df6faef2729c0e58 /oauthlib | |
parent | f559d8b5b55281b19e1911c320fcd11676e199ab (diff) | |
download | oauthlib-09bcb01032a21a4bfa0c478ea8ae66ec8ace957a.tar.gz |
Check for authorization response errors
Diffstat (limited to 'oauthlib')
-rw-r--r-- | oauthlib/oauth2/rfc6749/parameters.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/oauthlib/oauth2/rfc6749/parameters.py b/oauthlib/oauth2/rfc6749/parameters.py index 6b9d630..df724ee 100644 --- a/oauthlib/oauth2/rfc6749/parameters.py +++ b/oauthlib/oauth2/rfc6749/parameters.py @@ -264,12 +264,15 @@ def parse_authorization_code_response(uri, state=None): query = urlparse.urlparse(uri).query params = dict(urlparse.parse_qsl(query)) - if not 'code' in params: - raise MissingCodeError("Missing code parameter in response.") - if state and params.get('state', None) != state: raise MismatchingStateError() + if 'error' in params: + raise_from_error(params.get('error'), params) + + if not 'code' in params: + raise MissingCodeError("Missing code parameter in response.") + return params |