def verify(request, template=None): """Verify BrowserID assertion, and return whether a user is registered.""" log.debug("Verify BrowserID assertion.") if request.method != 'POST': raise Http404 assertion = request.POST['assertion'] if assertion is None: return HttpResponseBadRequest() verification = browserid_verify(assertion, get_audience(request)) if not verification: return HttpResponseForbidden() response = 'error' user = auth.authenticate(assertion=assertion, audience=get_audience(request)) if user is not None: auth.login(request, user) response = {'browserid': verification, 'manager': user.has_perm('base.can_manage'), 'localizer': user.has_perm('base.can_localize') } return HttpResponse(json.dumps(response), mimetype='application/json')
def verify(request, template=None): """Verify BrowserID assertion, and return whether a user is registered.""" log.debug("Verify BrowserID assertion.") if request.method != 'POST': log.error("Non-POST request") raise Http404 assertion = request.POST['assertion'] if assertion is None: return HttpResponseBadRequest() verification = browserid_verify(assertion, get_audience(request)) if not verification: return HttpResponseForbidden() response = "error" user = authenticate(assertion=assertion, audience=get_audience(request)) if user is not None: login(request, user) # Check for permission to localize if not granted on every login if not user.has_perm('base.can_localize'): user = User.objects.get(username=user) utils.add_can_localize(user) response = { 'browserid': verification, 'manager': user.has_perm('base.can_manage'), } return HttpResponse(json.dumps(response), mimetype='application/json')
def verify(request, template=None): """Verify BrowserID assertion, and return whether a user is registered.""" log.debug("Verify BrowserID assertion.") if request.method != "POST": raise Http404 assertion = request.POST["assertion"] if assertion is None: return HttpResponseBadRequest() verification = browserid_verify(assertion, get_audience(request)) if not verification: return HttpResponseForbidden() response_data = {"registered": False, "browserid": verification} user = auth.authenticate(assertion=assertion, audience=get_audience(request)) if user is not None: auth.login(request, user) response_data = { "registered": True, "browserid": verification, "manager": user.has_perm("base.can_manage"), "localizer": user.has_perm("base.can_localize"), } return HttpResponse(json.dumps(response_data), mimetype="application/json")
def verify(request, assertion=None): """Verifies a BrowserID assertion and caches it in the user's session.""" if assertion: verification = browserid_verify(assertion, get_audience(request)) request.session[SESSION_VERIFY] = verification else: verification = request.session.get(SESSION_VERIFY) return verification or None
def verify(request, template=None): """Verify BrowserID assertion, and return whether a user is registered.""" log.debug("Verify BrowserID assertion.") assertion = request.POST['assertion'] if assertion is None: return HttpResponseBadRequest() verification = browserid_verify(assertion, get_audience(request)) if not verification: return HttpResponseForbidden() response_data = {'registered': False, 'browserid': verification} user = auth.authenticate(assertion=assertion, audience=get_audience(request)) if user is not None: auth.login(request, user) response_data = {'registered': True, 'browserid': verification} return HttpResponse(json.dumps(response_data), mimetype='application/json')