improve reporting of error on access token requests

This commit is contained in:
Benjamin Dauvergne 2017-06-15 15:48:45 +02:00
parent 9ee35f8e19
commit c91411d8be
1 changed files with 4 additions and 6 deletions

View File

@ -92,22 +92,20 @@ def resolve_access_token(authorization_code, redirect_uri, logger):
'redirect_uri': redirect_uri,
'grant_type': 'authorization_code',
}
logger.debug('data %s', data)
logger.debug('access token request %s', data)
try:
response = requests.post(
app_settings.token_url, data=data,
verify=app_settings.verify_certificate,
allow_redirects=False, timeout=3)
if response.status_code == 400:
if response.status_code != 200:
try:
data = response.json()
logger.warning(u'oauth2 error on access token retrieval: %r', data)
except ValueError:
data = {}
logger.warning(u'oauth2 error on access token retrieval '
u'(error=%s, error_description=%s, error_uri=%s)',
data['error'], data['error_description'], data['error_uri'])
logger.warning(u'oauth2 error on access token retrieval: %r', response.content)
return
response.raise_for_status()
except requests.exceptions.RequestException as e:
logger.error(u'unable to retrieve access token {}'.format(e))
else: