def verify(request): try: payload = get_request_contents(request) firebase_id_token = payload.get('idToken', None) if firebase_id_token: decoded_token = auth.verify_id_token(firebase_id_token) user_email = decoded_token["email"] user = UserProfile.objects.filter(email=user_email).first() if (not user): return CustomMassenergizeError("authenticated_but_needs_registration") payload = { "user_id": str(user.id), "email": user.email, "is_super_admin": user.is_super_admin, "is_community_admin": user.is_community_admin, "iat": decoded_token.get("iat"), "exp": decoded_token.get("exp"), } massenergize_jwt_token = jwt.encode(payload, SECRET_KEY, algorithm='HS256').decode('utf-8') response = MassenergizeResponse(data=payload) response.set_cookie("token", str(massenergize_jwt_token)) return response else: return CustomMassenergizeError("Invalid Auth") except Exception as e: capture_message(str(e), level="error") return CustomMassenergizeError(e)
def verify(request): try: payload = get_request_contents(request) firebase_id_token = payload.get('idToken', None) if firebase_id_token: decoded_token = auth.verify_id_token(firebase_id_token) user_email = decoded_token["email"] user = UserProfile.objects.filter(email=user_email).first() if (not user): return CustomMassenergizeError("Please create an account") payload = { "user_id": str(user.id), "email": user.email, "is_super_admin": user.is_super_admin, "is_community_admin": user.is_community_admin, "iat": decoded_token.get("iat"), "exp": decoded_token.get("exp"), } massenergize_jwt_token = jwt.encode( payload, SECRET_KEY, algorithm='HS256').decode('utf-8') return MassenergizeResponse( data={"idToken": str(massenergize_jwt_token)}) else: return CustomMassenergizeError("Invalid Auth") except Exception as e: return CustomMassenergizeError(e)
def set_request_body(self, request): #get the request args self.args = get_request_contents(request) self.is_sandbox = parse_bool(self.args.pop('__is_sandbox', False)) self.community = self.args.pop('__community', None) self.is_admin_site = parse_bool(self.args.pop('__is_admin_site', False)) #set the is_dev field self.is_prod = parse_bool(self.args.pop('__is_prod', False)) self.is_dev = not self.is_prod
def set_request_body(self, request): #get the request args self.args = get_request_contents(request) # add path and req body to logger self.logger.add_trace('Context::set_request_body') self.logger.add_path(request.path) self.logger.add_request_body(self.args) #set the is_dev field self.is_dev = self.args.pop('is_dev', False) if not self.is_dev: self.is_prod = True