Update oauth redirects

This commit is contained in:
Christian Cueni 2022-04-14 11:48:38 +02:00
parent 616113aaf9
commit 149ba17580
1 changed files with 5 additions and 4 deletions

View File

@ -10,7 +10,8 @@ from vbv_lernwelt.sso.jwt import decode_jwt
logger = logging.getLogger(__name__)
OAUTH_REDIRECT = 'profile'
OAUTH_SUCCESS_REDIRECT = 'profile'
OAUTH_FAIL_REDIRECT = 'login-error'
def login(request):
@ -25,17 +26,17 @@ def authorize(request):
token = oauth.lernetz.authorize_access_token(request)
deocded_token = decode_jwt(token["access_token"])
except OAuthError as e:
logger.warning(f'OAuth error: {e}')
logger.error(f'OAuth error: {e}')
if not settings.DEBUG:
capture_exception(e)
return redirect(f'/{OAUTH_REDIRECT}?state=someerror') # to be defined
return redirect(f'/{OAUTH_FAIL_REDIRECT}?state=someerror') # to be defined
user_data = _user_data_from_token_data(deocded_token)
user, created = get_user_model().objects.create_or_update_by_email(user_data["email"], user_data["first_name"],
user_data["last_name"], user_data["username"])
dj_login(request, user)
return redirect(f'/{OAUTH_REDIRECT}?state=success') # to be defined
return redirect(f'/{OAUTH_SUCCESS_REDIRECT}?state=success') # to be defined
def _user_data_from_token_data(token: dict) -> dict: