Skip to content

Commit

Permalink
Fix automatic fetch of AuthID from cli token
Browse files Browse the repository at this point in the history
  • Loading branch information
albertony committed Jun 23, 2022
1 parent 3f07323 commit e9281f2
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
1 change: 1 addition & 0 deletions cli-token.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ <h1>{{appname}} for {{service}}</h1>
<p>Type in the CLI token</p>
<form action="/cli-token-login" method="POST">
<input type="hidden" id="id" name="id" value="{{id}}" />
<input type="hidden" id="fetchtoken" name="fetchtoken" value="{{fetchtoken}}" />
<input type="hidden" id="tokenversion" name="tokenversion" value="{{tokenversion}}" />
<input class="form-control" type="text" id="token" name="token" required />
<br/>
Expand Down
11 changes: 6 additions & 5 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,9 @@ def get(self):
link = '/cli-token?id=' + n['id']
else:
link = '/login?id=' + n['id']
if self.request.get('token', None) is not None:
link += '&token=' + self.request.get('token')

if self.request.get('token', None) is not None:
link += '&token=' + self.request.get('token')

if tokenversion is not None:
link += '&tokenversion=' + str(tokenversion)
Expand Down Expand Up @@ -401,6 +402,7 @@ def get(self):
'appname': settings.APP_NAME,
'longappname': settings.SERVICE_DISPLAYNAME,
'id': provider['id'],
'fetchtoken': self.request.get('token', ''),
'tokenversion': self.request.get('tokenversion', '')
}

Expand All @@ -419,6 +421,8 @@ def post(self):
provider, service = find_provider_and_service(id)
display = provider['display']

fetchtoken = self.request.POST.get('fetchtoken', None)

tokenversion = None
try:
tokenversion = int(self.request.POST.get('tokenversion'))
Expand Down Expand Up @@ -464,7 +468,6 @@ def post(self):
raise Exception(error)

authid = 'v2:' + id + ':' + resp['refresh_token']
fetchtoken = dbmodel.create_fetch_token(resp)
dbmodel.update_fetch_token(fetchtoken, authid)

# Report results to the user
Expand All @@ -484,8 +487,6 @@ def post(self):

keyid, authid = create_authtoken(id, resp)

fetchtoken = dbmodel.create_fetch_token(resp)

# If this was part of a polling request, signal completion
dbmodel.update_fetch_token(fetchtoken, authid)

Expand Down

0 comments on commit e9281f2

Please sign in to comment.