· 7 years ago · Dec 11, 2017, 08:20 PM
1# refresh an eve api token
2
3def refresh_token(old_rtoken):
4
5 from requests_oauthlib import OAuth2Session
6 import oauthlib.oauth2
7 import common.credentials.eve as _eve
8 import common.logger as _logger
9
10 base_url = 'https://login.eveonline.com'
11 token_url = base_url + '/oauth/token'
12 base_auth_url = base_url + '/oauth/authorize'
13 redirect = _eve.redirect_url
14
15 # special headers to fix an sso bug
16
17 headers = {'Accept': 'application/json', 'Content-Type': 'application/x-www-form-urlencoded'}
18
19 extra = {
20 'client_id': _eve.client_id,
21 'client_secret': _eve.client_secret,
22 }
23
24 eve = OAuth2Session(
25 client_id=_eve.client_id,
26 token=old_rtoken,
27 )
28 try:
29 result = eve.refresh_token(
30 token_url,
31 redirect_uri=redirect,
32 refresh_token=old_rtoken,
33 headers=headers,
34 **extra,
35 )
36
37 except Exception as error:
38 # there are a rather large amount of exceptions
39
40 exception_type = type(error).__name__
41 return exception_type, error
42
43 return result, True