def reverify(request): form = BrowserIDForm(data=request.POST) if form.is_valid(): url = settings.BROWSERID_VERIFICATION_URL audience = get_audience(request) extra_params = { 'experimental_forceIssuer': settings.BROWSERID_UNVERIFIED_ISSUER, 'experimental_forceAuthentication': 'true', 'experimental_allowUnverified': 'true' } assertion = form.cleaned_data['assertion'] log.info('Re-verifying Persona assertion. url: %s, audience: %s, ' 'extra_params: %s' % (url, audience, extra_params)) result = verify_assertion(assertion, audience, extra_params) log.info('Reverify got result: %s' % result) if result: email = result.get('unverified-email', result.get('email')) store_mkt_permissions(request, email, assertion, audience) logged_user = request.session.get('uuid') reverified_user = get_uuid(email) if logged_user and logged_user != reverified_user: log.error('User %r tried to reverify as ' 'new email: %s' % (logged_user, email)) return http.HttpResponseBadRequest() request.session['was_reverified'] = True return {'user_hash': reverified_user} log.error('Persona assertion failed.') request.session.clear() return http.HttpResponseBadRequest()
def verify(request): form = BrowserIDForm(data=request.POST) if form.is_valid(): url = settings.BROWSERID_VERIFICATION_URL audience = get_audience(request) extra_params = {'forceIssuer': settings.BROWSERID_UNVERIFIED_ISSUER, 'allowUnverified': 'true'} assertion = form.cleaned_data['assertion'] log.info('verifying Persona assertion. url: %s, audience: %s, ' 'extra_params: %s, assertion: %s' % (url, audience, extra_params, assertion)) result = verify_assertion(assertion, audience, extra_params) if result: log.info('Persona assertion ok: %s' % result) email = result.get('unverified-email', result.get('email')) user_hash = set_user(request, email) return {'has_pin': request.session.get('uuid_has_pin'), 'pin_create': reverse('pin.create'), 'user_hash': user_hash} log.error('Persona assertion failed.') request.session.clear() return http.HttpResponseBadRequest()
def verify(request): form = BrowserIDForm(data=request.POST) if form.is_valid(): url = settings.BROWSERID_VERIFICATION_URL audience = get_audience(request) extra_params = { 'experimental_forceIssuer': settings.BROWSERID_UNVERIFIED_ISSUER, 'experimental_allowUnverified': 'true' } assertion = form.cleaned_data['assertion'] log.info('verifying Persona assertion. url: %s, audience: %s, ' 'extra_params: %s, assertion: %s' % (url, audience, extra_params, assertion)) result = verify_assertion(assertion, audience, extra_params) if result: log.info('Persona assertion ok: %s' % result) email = result.get('unverified-email', result.get('email')) store_mkt_permissions(request, email, assertion, audience) user_uuid = set_user(request, email) redirect_url = check_pin_status(request) return { 'needs_redirect': redirect_url is not None, 'redirect_url': redirect_url, 'user_hash': user_uuid } log.error('Persona assertion failed.') request.session.flush() return http.HttpResponseBadRequest()
def verify(request): form = BrowserIDForm(data=request.POST) if form.is_valid(): url = settings.BROWSERID_VERIFICATION_URL audience = get_audience(request) extra_params = {'experimental_forceIssuer': settings.BROWSERID_UNVERIFIED_ISSUER, 'experimental_allowUnverified': 'true'} assertion = form.cleaned_data['assertion'] log.info('verifying Persona assertion. url: %s, audience: %s, ' 'extra_params: %s, assertion: %s' % (url, audience, extra_params, assertion)) result = verify_assertion(assertion, audience, extra_params) if result: log.info('Persona assertion ok: %s' % result) email = result.get('unverified-email', result.get('email')) user_hash = set_user(request, email) redirect_url = check_pin_status(request) return { 'needs_redirect': redirect_url is not None, 'redirect_url': redirect_url, 'user_hash': user_hash } log.error('Persona assertion failed.') request.session.flush() return http.HttpResponseBadRequest()
def reverify(request): form = BrowserIDForm(data=request.POST) if form.is_valid(): url = settings.BROWSERID_VERIFICATION_URL audience = get_audience(request) extra_params = { "experimental_forceIssuer": settings.BROWSERID_UNVERIFIED_ISSUER, "experimental_forceAuthentication": "true", "experimental_allowUnverified": "true", } assertion = form.cleaned_data["assertion"] log.info( "Re-verifying Persona assertion. url: %s, audience: %s, " "extra_params: %s" % (url, audience, extra_params) ) result = verify_assertion(assertion, audience, extra_params) log.info("Reverify got result: %s" % result) if result: email = result.get("unverified-email", result.get("email")) store_mkt_permissions(request, email, assertion, audience) logged_user = request.session.get("uuid") reverified_user = get_uuid(email) if logged_user and logged_user != reverified_user: log.error("User %r tried to reverify as " "new email: %s" % (logged_user, email)) return http.HttpResponseBadRequest() request.session["was_reverified"] = True return {"user_hash": reverified_user} log.error("Persona assertion failed.") request.session.clear() return http.HttpResponseBadRequest()
def verify(request): form = BrowserIDForm(data=request.POST) if form.is_valid(): log.info("verifying assertion") result = verify_assertion(form.cleaned_data["assertion"], get_audience(request)) if result: log.info("assertion ok: %s" % result) return http.HttpResponse("ok") return http.HttpResponseBadRequest()
def verify(request): form = BrowserIDForm(data=request.POST) if form.is_valid(): log.info('verifying assertion') result = verify_assertion(form.cleaned_data['assertion'], get_audience(request)) if result: log.info('assertion ok: %s' % result) set_user(request, result['email']) return {'has_pin': request.session['uuid_has_pin'], 'pin_create': reverse('pin.create')} request.session.clear() return http.HttpResponseBadRequest()
def verify(request): form = BrowserIDForm(data=request.POST) if form.is_valid(): url = settings.BROWSERID_VERIFICATION_URL audience = get_audience(request) extra_params = { 'experimental_forceIssuer': settings.BROWSERID_UNVERIFIED_ISSUER, 'experimental_allowUnverified': 'true' } assertion = form.cleaned_data['assertion'] log.info('verifying Persona assertion. url: %s, audience: %s, ' 'extra_params: %s, assertion: %s' % (url, audience, extra_params, assertion)) result = verify_assertion(assertion, audience, extra_params) if result: log.info('Persona assertion ok: %s' % result) email = result.get('unverified-email', result.get('email')) store_mkt_permissions(request, email, assertion, audience) user_uuid = set_user(request, email) redirect_url = check_pin_status(request) # Before we verify the user's PIN let's save some # time and get the transaction configured via Bango in the # background. log.info('configuring transaction {0} from auth' .format(request.session.get('trans_id'))) if not pay_tasks.configure_transaction(request): log.error('Configuring transaction failed.') return { 'needs_redirect': redirect_url is not None, 'redirect_url': redirect_url, 'user_hash': user_uuid } log.error('Persona assertion failed.') request.session.flush() return http.HttpResponseBadRequest()
def verify(request): form = BrowserIDForm(data=request.POST) if form.is_valid(): url = settings.BROWSERID_VERIFICATION_URL audience = get_audience(request) extra_params = { 'experimental_forceIssuer': settings.BROWSERID_UNVERIFIED_ISSUER, 'experimental_allowUnverified': 'true' } assertion = form.cleaned_data['assertion'] log.info('verifying Persona assertion. url: %s, audience: %s, ' 'extra_params: %s, assertion: %s' % (url, audience, extra_params, assertion)) result = verify_assertion(assertion, audience, extra_params) if result: log.info('Persona assertion ok: %s' % result) email = result.get('unverified-email', result.get('email')) store_mkt_permissions(request, email, assertion, audience) user_uuid = set_user(request, email) redirect_url = check_pin_status(request) # Before we verify the user's PIN let's save some # time and get the transaction configured via Bango in the # background. log.info('configuring transaction {0} from auth'.format( request.session.get('trans_id'))) pay_tasks.configure_transaction(request) return { 'needs_redirect': redirect_url is not None, 'redirect_url': redirect_url, 'user_hash': user_uuid } log.error('Persona assertion failed.') request.session.flush() return http.HttpResponseBadRequest()
def reverify(request): form = BrowserIDForm(data=request.POST) if form.is_valid(): url = settings.BROWSERID_VERIFICATION_URL audience = get_audience(request) # TODO: when we want to require a forced-auth login across the # entire site then how do we do it? # See bug 836060. extra_params = { 'experimental_forceIssuer': settings.BROWSERID_UNVERIFIED_ISSUER, # TODO: how do we make sure this is a proper forced # auth assertion? # This can also be addressed in bug 836060 'experimental_forceAuthentication': 'true', 'experimental_allowUnverified': 'true' } log.info('Re-verifying Persona assertion. url: %s, audience: %s, ' 'extra_params: %s' % (url, audience, extra_params)) result = verify_assertion(form.cleaned_data['assertion'], audience, extra_params) log.info('Reverify got result: %s') if result: logged_user = request.session.get('uuid') email = result.get('unverified-email', result.get('email')) reverified_user = get_uuid(email) if logged_user and logged_user != reverified_user: # TODO: Should we try to support this? raise ValueError('A user tried to reverify herself with a ' 'new email: %s' % email) return {'user_hash': reverified_user} log.error('Persona assertion failed.') request.session.clear() return http.HttpResponseBadRequest()
def reverify(request): form = BrowserIDForm(data=request.POST) if form.is_valid(): url = settings.BROWSERID_VERIFICATION_URL audience = get_audience(request) # TODO: when we want to require a forced-auth login across the # entire site then how do we do it? # See bug 836060. extra_params = {'forceIssuer': settings.BROWSERID_UNVERIFIED_ISSUER, # TODO: how do we make sure this is a proper forced # auth assertion? # This can also be addressed in bug 836060 'forceAuthentication': 'true', 'allowUnverified': 'true'} log.info('Re-verifying Persona assertion. url: %s, audience: %s, ' 'extra_params: %s' % (url, audience, extra_params)) result = verify_assertion(form.cleaned_data['assertion'], audience, extra_params) log.info('Reverify got result: %s') if result: logged_user = request.session.get('uuid') email = result.get('unverified-email', result.get('email')) reverified_user = get_uuid(email) if logged_user and logged_user != reverified_user: # TODO: Should we try to support this? raise ValueError('A user tried to reverify herself with a ' 'new email: %s' % email) return {'user_hash': reverified_user} log.error('Persona assertion failed.') request.session.clear() return http.HttpResponseBadRequest()
def verify(request): form = BrowserIDForm(data=request.POST) if form.is_valid(): url = settings.BROWSERID_VERIFICATION_URL audience = get_audience(request) extra_params = { "experimental_forceIssuer": settings.BROWSERID_UNVERIFIED_ISSUER, "experimental_allowUnverified": "true", } assertion = form.cleaned_data["assertion"] log.info( "verifying Persona assertion. url: %s, audience: %s, " "extra_params: %s, assertion: %s" % (url, audience, extra_params, assertion) ) result = verify_assertion(assertion, audience, extra_params) if result: log.info("Persona assertion ok: %s" % result) email = result.get("unverified-email", result.get("email")) store_mkt_permissions(request, email, assertion, audience) user_uuid = set_user(request, email) redirect_url = check_pin_status(request) # Before we verify the user's PIN let's save some # time and get the transaction configured via Bango in the # background. log.info("configuring transaction {0} from auth".format(request.session.get("trans_id"))) if not pay_tasks.configure_transaction(request): log.error("Configuring transaction failed.") return {"needs_redirect": redirect_url is not None, "redirect_url": redirect_url, "user_hash": user_uuid} log.error("Persona assertion failed.") request.session.flush() return http.HttpResponseBadRequest()