token refresh works
This commit is contained in:
@@ -88,7 +88,7 @@ def custom_exception_handler(exc,message):
|
||||
return res
|
||||
|
||||
# Refresh ST token using refresh token
|
||||
def do_refresh_token(refreshtoken):
|
||||
def do_refresh_token(refreshtoken,access_token):
|
||||
client_auth = requests.auth.HTTPBasicAuth(UNDERARMOUR_CLIENT_KEY, UNDERARMOUR_CLIENT_SECRET)
|
||||
post_data = {"grant_type": "refresh_token",
|
||||
"client_secret": UNDERARMOUR_CLIENT_SECRET,
|
||||
@@ -98,12 +98,13 @@ def do_refresh_token(refreshtoken):
|
||||
headers = {'user-agent': 'sanderroosendaal',
|
||||
"Api-Key":UNDERARMOUR_CLIENT_KEY,
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json'}
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'authorization': 'Bearer %s' % access_token}
|
||||
|
||||
url = "https://api.ua.com/v7.1/oauth2/access_token"
|
||||
url = "https://api.ua.com/v7.1/oauth2/access_token/"
|
||||
|
||||
response = requests.post(url,
|
||||
data=json.dumps(post_data),
|
||||
data=post_data,
|
||||
headers=headers)
|
||||
|
||||
token_json = response.json()
|
||||
|
||||
@@ -274,6 +274,7 @@ urlpatterns = [
|
||||
url(r'^me/underarmourauthorize/$',views.rower_underarmour_authorize),
|
||||
url(r'^me/runkeeperauthorize/$',views.rower_runkeeper_authorize),
|
||||
url(r'^me/sporttracksrefresh/$',views.rower_sporttracks_token_refresh),
|
||||
url(r'^me/underarmourrefresh/$',views.rower_underarmour_token_refresh),
|
||||
url(r'^me/c2refresh/$',views.rower_c2_token_refresh),
|
||||
url(r'^me/favoritecharts/$',views.rower_favoritecharts_view),
|
||||
url(r'^email/send/$', views.sendmail),
|
||||
|
||||
@@ -1609,11 +1609,37 @@ def rower_c2_token_refresh(request):
|
||||
|
||||
return imports_view(request,successmessage=successmessage,message=message)
|
||||
|
||||
# Underarmour token refresh. URL for manual refresh. Not visible to users
|
||||
@login_required()
|
||||
def rower_underarmour_token_refresh(request):
|
||||
r = Rower.objects.get(user=request.user)
|
||||
res = underarmourstuff.do_refresh_token(
|
||||
r.underarmourrefreshtoken,
|
||||
r.underarmourtoken
|
||||
)
|
||||
access_token = res[0]
|
||||
expires_in = res[1]
|
||||
refresh_token = res[2]
|
||||
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
|
||||
|
||||
r = Rower.objects.get(user=request.user)
|
||||
r.underarmourtoken = access_token
|
||||
r.underarmourtokenexpirydate = expirydatetime
|
||||
r.underarmourrefreshtoken = refresh_token
|
||||
|
||||
r.save()
|
||||
|
||||
successmessage = "Tokens refreshed. Good to go"
|
||||
return imports_view(request,successmessage=successmessage)
|
||||
|
||||
|
||||
# SportTracks token refresh. URL for manual refresh. Not visible to users
|
||||
@login_required()
|
||||
def rower_sporttracks_token_refresh(request):
|
||||
r = Rower.objects.get(user=request.user)
|
||||
res = sporttracksstuff.do_refresh_token(r.sporttracksrefreshtoken)
|
||||
res = sporttracksstuff.do_refresh_token(
|
||||
r.sporttracksrefreshtoken,
|
||||
)
|
||||
access_token = res[0]
|
||||
expires_in = res[1]
|
||||
refresh_token = res[2]
|
||||
|
||||
Reference in New Issue
Block a user