Private
Public Access
1
0

fixed polar (hopefully)

This commit is contained in:
Sander Roosendaal
2022-01-21 17:45:54 +01:00
parent c495fd905d
commit a181f6f90d
2 changed files with 52 additions and 18 deletions

View File

@@ -36,6 +36,7 @@ from django.contrib.auth.decorators import login_required
from django.urls import reverse, reverse_lazy
from rowers.utils import myqueue
from rowers.opaque import encoder
import django_rq
queue = django_rq.get_queue('default')
queuelow = django_rq.get_queue('low')
@@ -75,7 +76,7 @@ def get_token(code):
post_data = {"grant_type": "authorization_code",
"code": code,
"redirect_uri": POLAR_REDIRECT_URI,
#"redirect_uri": POLAR_REDIRECT_URI,
}
auth_string = '{id}:{secret}'.format(
@@ -89,6 +90,10 @@ def get_token(code):
headers = { 'Authorization': 'Basic %s' % base64.b64encode(
bytes(auth_string,'utf-8')).decode('utf-8') }
dologging('polar.log','Getting token')
dologging('polar.log',post_data)
dologging('polar.log',auth_string)
response = requests.post("https://polarremote.com/v2/oauth2/token",
data=post_data,
headers=headers)
@@ -96,6 +101,7 @@ def get_token(code):
if response.status_code != 200: # pragma: no cover
dologging('polar.log','Getting token, got:')
dologging('polar.log',response.status_code)
dologging('polar.log',response.reason)
dologging('polar.log',response.text)
try:
@@ -355,28 +361,41 @@ def register_user(user, token):
s = "Token expired. Needs to refresh"
return custom_exception_handler(401,s)
authorizationstring = str('Bearer ' + token)
authorizationstring = 'Bearer {token}'.format(token=token)
headers = {
'Content-Type': 'application/xml',
'Authorization':authorizationstring,
'Accept': 'application/json'
}
params = {
'member-id': str(user.id)
payload = {
"member-id": encoder.encode_hex(user.id)
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'.format(token=token)
}
url = baseurl+'/users'
dologging('polar.log','Registering user')
response = requests.post(url,params=params,headers=headers)
if response.status_code != 200:
dologging('polar.log',url)
response = requests.post(
'https://www.polaraccesslink.com/v3/users',
json = payload,
headers = headers
)
#url = baseurl+'/users'
#response = requests.post(url,params=params,headers=headers)
if response.status_code not in [200,201]:
#dologging('polar.log',url)
dologging('polar.log',headers)
dologging('polar.log',params)
dologging('polar.log',payload)
dologging('polar.log',response.status_code)
dologging('polar.log',reponse.body)
dologging('polar.log',response.content)
try:
dologging('polar.log',response.reason)
dologging('polar.log',response.text)