token refresh works
This commit is contained in:
@@ -88,7 +88,7 @@ def custom_exception_handler(exc,message):
|
|||||||
return res
|
return res
|
||||||
|
|
||||||
# Refresh ST token using refresh token
|
# 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)
|
client_auth = requests.auth.HTTPBasicAuth(UNDERARMOUR_CLIENT_KEY, UNDERARMOUR_CLIENT_SECRET)
|
||||||
post_data = {"grant_type": "refresh_token",
|
post_data = {"grant_type": "refresh_token",
|
||||||
"client_secret": UNDERARMOUR_CLIENT_SECRET,
|
"client_secret": UNDERARMOUR_CLIENT_SECRET,
|
||||||
@@ -98,12 +98,13 @@ def do_refresh_token(refreshtoken):
|
|||||||
headers = {'user-agent': 'sanderroosendaal',
|
headers = {'user-agent': 'sanderroosendaal',
|
||||||
"Api-Key":UNDERARMOUR_CLIENT_KEY,
|
"Api-Key":UNDERARMOUR_CLIENT_KEY,
|
||||||
'Accept': 'application/json',
|
'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,
|
response = requests.post(url,
|
||||||
data=json.dumps(post_data),
|
data=post_data,
|
||||||
headers=headers)
|
headers=headers)
|
||||||
|
|
||||||
token_json = response.json()
|
token_json = response.json()
|
||||||
|
|||||||
@@ -274,6 +274,7 @@ urlpatterns = [
|
|||||||
url(r'^me/underarmourauthorize/$',views.rower_underarmour_authorize),
|
url(r'^me/underarmourauthorize/$',views.rower_underarmour_authorize),
|
||||||
url(r'^me/runkeeperauthorize/$',views.rower_runkeeper_authorize),
|
url(r'^me/runkeeperauthorize/$',views.rower_runkeeper_authorize),
|
||||||
url(r'^me/sporttracksrefresh/$',views.rower_sporttracks_token_refresh),
|
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/c2refresh/$',views.rower_c2_token_refresh),
|
||||||
url(r'^me/favoritecharts/$',views.rower_favoritecharts_view),
|
url(r'^me/favoritecharts/$',views.rower_favoritecharts_view),
|
||||||
url(r'^email/send/$', views.sendmail),
|
url(r'^email/send/$', views.sendmail),
|
||||||
|
|||||||
@@ -1609,11 +1609,37 @@ def rower_c2_token_refresh(request):
|
|||||||
|
|
||||||
return imports_view(request,successmessage=successmessage,message=message)
|
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
|
# SportTracks token refresh. URL for manual refresh. Not visible to users
|
||||||
@login_required()
|
@login_required()
|
||||||
def rower_sporttracks_token_refresh(request):
|
def rower_sporttracks_token_refresh(request):
|
||||||
r = Rower.objects.get(user=request.user)
|
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]
|
access_token = res[0]
|
||||||
expires_in = res[1]
|
expires_in = res[1]
|
||||||
refresh_token = res[2]
|
refresh_token = res[2]
|
||||||
|
|||||||
Reference in New Issue
Block a user