示例#1
0
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)
示例#2
0
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)
示例#3
0
  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
示例#4
0
    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