コード例 #1
0
    def mutate(self, info, **kwargs):
        if "account" in kwargs:
            if not account_validation(kwargs["account"]):
                raise GraphQLError("Incorrect Account Format")
            if User.objects.filter(account=kwargs["account"]):
                raise GraphQLError("Already Exist Account")
        if "phone_number" in kwargs:
            if not phone_number_validation(kwargs["phone_number"]):
                raise GraphQLError("Incorrect Phone Number Format")
            if User.objects.filter(phone_number=kwargs["phone_number"]):
                raise GraphQLError("Already Exist Phone_Number")
        if "email" in kwargs:
            if User.objects.filter(email=kwargs["email"]):
                raise GraphQLError("Already Exist Email")

        user = User.objects.get(id=globals.user)
        kwargs["updated_at"] = datetime.now()

        for key, value in kwargs.items():
            setattr(user, key, value)

        if "password" in kwargs:
            if not password_validation(kwargs["password"]):
                raise GraphQLError("Incorrect Password Format")
            user.set_password(kwargs["password"])

        user.save()

        token = get_token(user)
        refresh_token = create_refresh_token(user)
        return UpdateUser(user=user, token=token, refresh_token=refresh_token)
コード例 #2
0
    def mutate(self,
               info,
               phone,
               provider=None,
               auth_code=None,
               user_info=None):
        try:
            phone = parse_phone(phone)
        except exceptions.InvalidPhone as e:
            raise exceptions.GQLError(e.message)

        try:
            shop_user = ShopUser.objects.get(phone=phone)
        except ShopUser.DoesNotExist:
            shop_user = ShopUser.objects.create_user(phone=phone)

        if provider and auth_code:
            try:
                shop_user.bind_third_account(provider, auth_code)
            except (
                    exceptions.AlreadyBinded,
                    exceptions.DoNotSupportBindType,
                    exceptions.CodeBeUsed,
            ) as e:
                raise exceptions.GQLError(e.message)

        if user_info:
            for k, v in user_info.items():
                setattr(shop_user, k, v)
                shop_user.save(update_fields=[k])

        token = get_token(shop_user.user)
        refresh_token = create_refresh_token(shop_user.user)
        return SignUp(me=shop_user, token=token, refresh_token=refresh_token)
コード例 #3
0
    def setUp(self):
        super(ClearTokensTests, self).setUp()
        self.refresh_token = create_refresh_token(self.user)

        if sys.version_info[0] < 3:
            self.f = io.BytesIO()
        else:
            self.f = io.StringIO()
コード例 #4
0
ファイル: schema.py プロジェクト: HendrikRoth/photonix
 def resolve_after_signup(self, info):
     """To login user from frontend after finish sigunp process."""
     user = info.context.user
     if user.has_configured_image_analysis:
         return {
             'token': get_token(user),
             'refresh_token': create_refresh_token(user)
         }
     return {'token': None, 'refresh_token': None}
コード例 #5
0
    def mutate(self, info, username, password, email):
        user = get_user_model()(
            username=username,
            email=email,
        )
        user.set_password(password)
        user.save()

        profile_obj = profile.objects.get(user=user.id)        
        token = get_token(user)
        refresh_token = create_refresh_token(user)
        
        return CreateUser(user=user, profile=profile_obj, token=token, refresh_token=refresh_token)
コード例 #6
0
ファイル: mutations.py プロジェクト: joonyoungleeduke/MatchMe
    def mutate(root, info, username, password, email=""):
        user = get_user_model()(username=username, email=email)
        user.set_password(password)
        user.save()

        profile_obj = Profile.objects.get(owner=user.id)
        token = get_token(user)
        refresh_token = create_refresh_token(user)

        return RegisterUser(user=user,
                            profile=profile_obj,
                            token=token,
                            refresh_token=refresh_token)
コード例 #7
0
    def mutate(self, info, username, password, email):
        user = get_user_model()(
            username=username,
            email=email,
        )
        user.set_password(password)
        user.save()

        token = get_token(user)
        refresh_token = create_refresh_token(user)

        return CreateUser(user=user,
                          token=token,
                          refresh_token=refresh_token)
コード例 #8
0
    def mutate(cls, root, info, **input):
        user = authenticate(email=input['input']['email'],
                            password=input['input']['password'])

        if user is None:
            # Please enter a correct email and password
            raise Exception('100')

        if not user.is_active:
            # It seems your account has been disabled
            raise Exception('101')
        return cls(user=user,
                   token=get_token(user),
                   refresh_token=create_refresh_token(user))
コード例 #9
0
    def mutate(self, info, **kwargs):
        if not account_validation(kwargs["account"]):
            raise GraphQLError("Incorrect Account Format")
        if not password_validation(kwargs["password"]):
            raise GraphQLError("Incorrect Password Format")
        if not phone_number_validation(kwargs["phone_number"]):
            raise GraphQLError("Incorrect Phone Number Format")
        if User.objects.filter(account=kwargs["account"]):
            raise GraphQLError("Already Exist Account")
        if User.objects.filter(email=kwargs["email"]):
            raise GraphQLError("Already Exist Email")
        if User.objects.filter(phone_number=kwargs["phone_number"]):
            raise GraphQLError("Already Exist Phone_Number")

        user = User(**kwargs)
        user.set_password(kwargs["password"])
        user.save()

        token = get_token(user)
        refresh_token = create_refresh_token(user)
        return CreateUser(user=user, token=token, refresh_token=refresh_token)
コード例 #10
0
def _login(user: UserModel) -> dict:
    jti = user.jtis.create(value=crypto.create_jwt_id())
    user.jwt_salt = jti.value
    user.last_login = timezone.now()
    user.save(update_fields=["last_login", "jwt_salt"])
    success = True
    token = shortcuts.get_token(user)
    p = shortcuts.get_payload(token)
    payload = {
            "email":p.get("email", ""),
            "exp":p.get("exp", 0), 
            "origIat":p.get("origIat", 0)
        }
    refreshtkn = shortcuts.create_refresh_token(user)

    return {
        "success":success,
        "token":token,
        "refresh_token": refreshtkn,
        "user":user,
        "payload":payload
    }
コード例 #11
0
    def mutate(self, info, username, password, email, **kwargs):
        user = get_user_model()(
            username=username,
            email=email,
        )
        user.set_password(password)
        fname = kwargs.pop("firstname")
        lname = kwargs.pop("lastname")
        user.first_name = fname
        user.last_name = lname
        # print(user.firstName)
        user.save()
        profile_obj = Profile.objects.get(user=user.id)
        for i in kwargs.keys():
            setattr(profile_obj, i, kwargs[i])
        profile_obj.save()
        token = get_token(user)

        refresh_token = create_refresh_token(user)
        user = User.objects.get(id=user.id)

        return CreateUser(
            user=user, profile=profile_obj, token=token, refresh_token=refresh_token
        )
コード例 #12
0
 def setUp(self):
     super().setUp()
     self.refresh_token = create_refresh_token(self.user)
コード例 #13
0
 def setUp(self):
     super().setUp()
     RefreshToken = get_refresh_token_model()
     self.refresh_token = create_refresh_token(self.user)
     self.refresh_token_admin = admin.RefreshTokenAdmin(RefreshToken, site)
コード例 #14
0
 def setUp(self):
     super().setUp()
     self.refresh_token = create_refresh_token(self.user)
     self.f = io.StringIO()
コード例 #15
0
 def setUp(self):
     super(AbstractRefreshTokenTests, self).setUp()
     self.refresh_token = create_refresh_token(self.user)
コード例 #16
0
    def test_get_refresh_token(self):
        refresh_token = shortcuts.create_refresh_token(self.user)
        user = shortcuts.get_refresh_token(refresh_token).user

        self.assertEqual(user, self.user)
コード例 #17
0
 def setUp(self):
     super(RefreshTokenMixin, self).setUp()
     self.refresh_token = create_refresh_token(self.user)