def callback(request, backend_name): try: workflow = get_workflow(request) if workflow.backend_name != backend_name: raise AkamaruError("Workflow") except AkamaruError: traceback.print_exc(file=sys.stdout) if AKAMARU_ILLEGAL_STATE_REDIRECT in settings: akamaru_illegal_state_redirect = settings_getattr(AKAMARU_ILLEGAL_STATE_REDIRECT) return HttpResponseRedirect(akamaru_illegal_state_redirect) return HttpResponseRedirect('/') request.session.modified = True return workflow.authenticate(**{'request': request})
def resolve(request): def _extract(d, keys): return dict((k, d[k]) for k in keys if k in d) workflow = get_workflow(request) if not workflow.is_authenticated(): return redirect("/") if request.user.is_authenticated(): workflow.associate_user(request, request.user) return login_ok_redirect() create_user_form = CreateUserForm(request.POST or None, initial=workflow.get_session().me()) login_form = AuthenticationForm(request, request.POST or None) if create_user_form.is_valid(): workflow.create_user( request, **(_extract(create_user_form.cleaned_data, [ 'username', 'password', 'first_name', 'last_name', 'email']))) return login_ok_redirect() elif login_form.is_valid(): user = authenticate(username=login_form.cleaned_data['username'], password=login_form.cleaned_data['password']) if user and user.is_active: workflow.associate_user(request, user) login(request, user) return login_ok_redirect() else: request.session.set_test_cookie() return render(request, "resolve/resolve.html", dict(create_user_form=create_user_form, login_form=login_form))
def profile(request): workflow = get_workflow(request) session = workflow.get_session() return render(request, "profile.html", {'user': request.user, 'session': session})