Fix URI mismatch
This commit is contained in:
parent
6cbf5487fc
commit
8409f36dd1
@ -41,10 +41,12 @@ def hopid_callback(response=None):
|
||||
return view_func(request, *args, **kwargs, error=reason)
|
||||
|
||||
code = request.GET.get('code')
|
||||
next = request.GET.get('next')
|
||||
|
||||
if not code:
|
||||
return fail("No code returned")
|
||||
|
||||
tokens = get_jwt_tokens(code, request.session.pop('pkce_verifier', ''))
|
||||
tokens = get_jwt_tokens(code, request.session.pop('pkce_verifier', ''), next)
|
||||
error = tokens.get('error', '')
|
||||
|
||||
if error:
|
||||
|
@ -61,12 +61,17 @@ def get_user_from_token(access_token):
|
||||
return profile
|
||||
|
||||
|
||||
def get_jwt_tokens(code, code_verifier):
|
||||
def get_jwt_tokens(code, code_verifier, next=None):
|
||||
token_url = f"{settings.HOPID_URL}/o/token/"
|
||||
redirect_uri = settings.HOPID_CLIENT_CALLBACK_URI or settings.HOPID_CLIENT_URI + f'/id/callback/'
|
||||
|
||||
if next:
|
||||
redirect_uri += f'?{urlencode({"next": next})}'
|
||||
|
||||
token_data = {
|
||||
'grant_type': 'authorization_code',
|
||||
'code': code,
|
||||
'redirect_uri': settings.HOPID_CLIENT_CALLBACK_URI or settings.HOPID_CLIENT_URI + '/id/callback/',
|
||||
'redirect_uri': redirect_uri,
|
||||
'client_id': settings.HOPID_CLIENT_ID,
|
||||
'client_secret': settings.HOPID_CLIENT_SECRET,
|
||||
'code_verifier': code_verifier,
|
||||
|
@ -4,6 +4,7 @@ from django.contrib.auth import logout as django_logout
|
||||
from .utils import get_hopid_logout_url
|
||||
from .decorators import hopid_callback
|
||||
|
||||
|
||||
@hopid_callback()
|
||||
def hopid_callback_view(request, *args, **kwargs):
|
||||
next = request.GET.get('next') or '/'
|
||||
|
Loading…
x
Reference in New Issue
Block a user