msp: pass error from MSP to authorization requester
This commit is contained in:
parent
ecfe4a59fa
commit
481ff86789
|
@ -257,7 +257,21 @@ class AuthorizeView(View):
|
|||
url = urlparse.urlunparse(parsed)
|
||||
return HttpResponseRedirect(url)
|
||||
if 'error' in GET:
|
||||
assert False
|
||||
assert 'state' in GET
|
||||
state = GET['state']
|
||||
saved = cache.get('msp-state-' + state)
|
||||
old_state = saved['state']
|
||||
redirect_uri = saved['redirect_uri']
|
||||
parsed = urlparse.urlparse(redirect_uri)
|
||||
params = urlparse.parse_qs(parsed.query)
|
||||
params.update(dict(GET))
|
||||
if old_state:
|
||||
params['state'] = old_state
|
||||
else:
|
||||
del params['state']
|
||||
parsed = parsed._replace(query=urllib.urlencode(params, True))
|
||||
url = urlparse.urlunparse(parsed)
|
||||
return HttpResponseRedirect(url)
|
||||
else:
|
||||
assert 'redirect_uri' in GET
|
||||
assert 'scope' in GET
|
||||
|
|
Reference in New Issue