def complete_login(request):
auth = get_saml_auth(request)
auth.process_response()
errors = auth.get_errors()
if errors:
logger.error(auth.get_last_error_reason(), exc_info=True)
return HttpResponseBadRequest(
content='Error when processing SAML Response: {}'.format(', '.join(errors))
)
if auth.is_authenticated():
request.session['saml_attributes'] = auth.get_attributes()
request.session['saml_nameid'] = auth.get_nameid()
request.session['saml_session_index'] = auth.get_session_index()
params = {'state': 'saml'}
url = request.POST.get('RelayState', '/login')
return HttpResponseRedirect(auth.redirect_to(url, parameters=params))
else:
raise PermissionDenied()
评论列表
文章目录