in django_airavata/apps/auth/views.py [0:0]
def callback(request):
try:
login_desktop = request.GET.get('login_desktop', "false") == "true"
idp_alias = request.GET.get('idp_alias')
user = authenticate(request=request, idp_alias=idp_alias)
if user is not None:
login(request, user)
if login_desktop:
download_code = request.GET.get('download-code', 'false') == "true"
show_code = request.GET.get('show-code', 'false') == "true"
return _create_login_desktop_success_response(request, download_code=download_code, show_code=show_code)
next_url = request.GET.get('next', settings.LOGIN_REDIRECT_URL)
return redirect(next_url)
else:
raise Exception("Failed to authenticate user")
except Exception as err:
logger.exception("An error occurred while processing OAuth2 "
"callback: {}".format(request.build_absolute_uri()),
extra={'request': request})
messages.error(
request,
"Failed to process OAuth2 callback: {}".format(str(err)))
if login_desktop:
return _create_login_desktop_failed_response(
request, idp_alias=idp_alias)
return redirect(reverse('django_airavata_auth:callback-error',
args=(idp_alias,)))