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)
|
url = urlparse.urlunparse(parsed)
|
||||||
return HttpResponseRedirect(url)
|
return HttpResponseRedirect(url)
|
||||||
if 'error' in GET:
|
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:
|
else:
|
||||||
assert 'redirect_uri' in GET
|
assert 'redirect_uri' in GET
|
||||||
assert 'scope' in GET
|
assert 'scope' in GET
|
||||||
|
|
Reference in New Issue