def create_profile(self, http_request): email = '*****@*****.**' http_request.return_value = FakeResponse(200, json.dumps({'status': 'okay', 'email': email})) browserid_authenticate(request=Mock(), assertion='fake-assertion') return UserProfile.objects.get(email=email)
def create_profile(self, http_request): email = '*****@*****.**' http_request.return_value = FakeResponse( 200, json.dumps({ 'status': 'okay', 'email': email })) request = fake_request() browserid_authenticate(request=request, assertion='fake-assertion') return UserProfile.objects.get(email=email)
def obj_create(self, bundle, request, **kwargs): with statsd.timer('auth.browserid.verify'): profile, msg = browserid_authenticate( request, bundle.data['assertion'], browserid_audience=bundle.data['audience'], is_native=bundle.data.get('is_native', False) ) if profile is None: log.info('No profile: %s' % (msg or '')) raise http_error(http.HttpUnauthorized, 'No profile.') request.user, request.amo_user = profile.user, profile request.groups = profile.groups.all() # TODO: move this to the signal. profile.log_login_attempt(True) user_logged_in.send(sender=profile.user.__class__, request=request, user=profile.user) bundle.data = { 'error': None, 'token': self.get_token(request.amo_user.email), 'settings': { 'display_name': request.amo_user.display_name, 'email': request.amo_user.email, } } bundle.data.update(PermissionResource() .dehydrate(Bundle(request=request)).data) return bundle
def obj_create(self, bundle, request, **kwargs): with statsd.timer('auth.browserid.verify'): profile, msg = browserid_authenticate( request, bundle.data['assertion'], browserid_audience=bundle.data['audience'], is_native=bundle.data.get('is_native', False)) if profile is None: log.info('No profile') raise http_error(http.HttpUnauthorized, 'No profile.') request.user, request.amo_user = profile.user, profile request.groups = profile.groups.all() # TODO: move this to the signal. profile.log_login_attempt(True) user_logged_in.send(sender=profile.user.__class__, request=request, user=profile.user) bundle.data = { 'error': None, 'token': self.get_token(request.user.email), 'settings': { 'display_name': request.amo_user.display_name, 'email': request.user.email, } } bundle.data.update(PermissionResource().dehydrate( Bundle(request=request)).data) return bundle
def obj_create(self, bundle, request, **kwargs): with statsd.timer("auth.browserid.verify"): profile, msg = browserid_authenticate( request, bundle.data["assertion"], browserid_audience=bundle.data["audience"], is_native=bundle.data.get("is_native", False), ) if profile is None: log.info("No profile") raise http_error(http.HttpUnauthorized, "No profile.") request.user, request.amo_user = profile.user, profile request.groups = profile.groups.all() # TODO: move this to the signal. profile.log_login_attempt(True) user_logged_in.send(sender=profile.user.__class__, request=request, user=profile.user) bundle.data = { "error": None, "token": self.get_token(request.user.email), "settings": {"display_name": request.amo_user.display_name, "email": request.user.email}, } bundle.data.update(PermissionResource().dehydrate(Bundle(request=request)).data) return bundle
def create_action(self, request, serializer): with statsd.timer('auth.browserid.verify'): profile, msg = browserid_authenticate( request, serializer.data['assertion'], browserid_audience=serializer.data['audience'], is_mobile=serializer.data['is_mobile'], ) if profile is None: # Authentication failure. log.info('No profile: %s' % (msg or '')) raise AuthenticationFailed('No profile.') request.user, request.amo_user = profile.user, profile request.groups = profile.groups.all() # TODO: move this to the signal. profile.log_login_attempt(True) user_logged_in.send(sender=profile.user.__class__, request=request, user=profile.user) # We want to return completely custom data, not the serializer's. data = { 'error': None, 'token': self.get_token(request.amo_user.email), 'settings': { 'display_name': request.amo_user.display_name, 'email': request.amo_user.email, } } permissions = PermissionsSerializer(context={'request': request}) data.update(permissions.data) return data
def create_action(self, request, serializer): with statsd.timer('auth.browserid.verify'): profile, msg = browserid_authenticate( request, serializer.data['assertion'], browserid_audience=serializer.data['audience'] or get_audience(request), is_mobile=serializer.data['is_mobile'], ) if profile is None: # Authentication failure. log.info('No profile: %s' % (msg or '')) raise AuthenticationFailed('No profile.') request.user, request.amo_user = profile.user, profile request.groups = profile.groups.all() auth.login(request, profile.user) profile.log_login_attempt(True) # TODO: move this to the signal. user_logged_in.send(sender=profile.user.__class__, request=request, user=profile.user) # We want to return completely custom data, not the serializer's. data = { 'error': None, 'token': self.get_token(request.amo_user.email), 'settings': { 'display_name': request.amo_user.display_name, 'email': request.amo_user.email, } } # Serializers give up if they aren't passed an instance, so we # do that here despite PermissionsSerializer not needing one # really. permissions = PermissionsSerializer(context={'request': request}, instance=True) data.update(permissions.data) # Add ids of installed/purchased/developed apps. data['apps'] = user_relevant_apps(profile) return data
def create_action(self, request, serializer): with statsd.timer('auth.browserid.verify'): profile, msg = browserid_authenticate( request, serializer.data['assertion'], browserid_audience=serializer.data['audience'] or get_audience(request), is_mobile=serializer.data['is_mobile'], ) if profile is None: # Authentication failure. log.info('No profile: %s' % (msg or '')) raise AuthenticationFailed('No profile.') request.user, request.amo_user = profile, profile request.groups = profile.groups.all() auth.login(request, profile) profile.log_login_attempt(True) # TODO: move this to the signal. user_logged_in.send(sender=profile.__class__, request=request, user=profile) # We want to return completely custom data, not the serializer's. data = { 'error': None, 'token': self.get_token(request.amo_user.email), 'settings': { 'display_name': request.amo_user.display_name, 'email': request.amo_user.email, } } # Serializers give up if they aren't passed an instance, so we # do that here despite PermissionsSerializer not needing one # really. permissions = PermissionsSerializer(context={'request': request}, instance=True) data.update(permissions.data) # Add ids of installed/purchased/developed apps. data['apps'] = user_relevant_apps(profile) return data
def create_action(self, request, serializer): with statsd.timer("auth.browserid.verify"): profile, msg = browserid_authenticate( request, serializer.data["assertion"], browserid_audience=serializer.data["audience"], is_mobile=serializer.data["is_mobile"], ) if profile is None: # Authentication failure. log.info("No profile: %s" % (msg or "")) raise AuthenticationFailed("No profile.") request.user, request.amo_user = profile.user, profile request.groups = profile.groups.all() # TODO: move this to the signal. profile.log_login_attempt(True) user_logged_in.send(sender=profile.user.__class__, request=request, user=profile.user) # We want to return completely custom data, not the serializer's. data = { "error": None, "token": self.get_token(request.amo_user.email), "settings": {"display_name": request.amo_user.display_name, "email": request.amo_user.email}, } # Serializers give up if they aren't passed an instance, so we # do that here despite PermissionsSerializer not needing one # really. permissions = PermissionsSerializer(context={"request": request}, instance=True) data.update(permissions.data) # Add ids of installed/purchased/developed apps. data["apps"] = user_relevant_apps(profile) return data
def create_profile(self, http_request): email = "*****@*****.**" http_request.return_value = FakeResponse(200, json.dumps({"status": "okay", "email": email})) browserid_authenticate(request=Mock(), assertion="fake-assertion") return UserProfile.objects.get(email=email)