def validate_uid(self, value): try: uid = utils.decode_uid(value) self.user = User.objects.get(pk=uid) except (User.DoesNotExist, ValueError, TypeError, OverflowError): self.fail('invalid_uid') return value
def validate_uid(self, value): try: uid = utils.decode_uid(value) self.user = User.objects.get(pk=uid) except (User.DoesNotExist, ValueError, TypeError, OverflowError): self.fail('invalid_uid') return value
def validate_uid(self, value): try: uid = utils.decode_uid(value) self.user = User.objects.get(pk=uid) except (User.DoesNotExist, ValueError, TypeError, OverflowError) as error: raise serializers.ValidationError( self.error_messages['invalid_uid']) return value
def get_user_from_activation_token(uid, token) -> Union[User, None]: try: uid = decode_uid(uid) except DjangoUnicodeDecodeError: return None try: user = User.objects.get(pk=uid) except (User.DoesNotExist, ValueError): return None if not default_token_generator.check_token(user, token): return None return user
def get(self, request, uid, token): from django.contrib.auth.tokens import default_token_generator from djoser.utils import decode_uid uid = int(decode_uid(uid)) user = User.objects.get(id=uid) if default_token_generator.check_token(user, token): user.is_active = True user.save() #login(self.request, user) success_url = reverse_lazy('profile') else: success_url = revese_lazy('login_signin') return HttpResponseRedirect(success_url)
def mutate(self, info, token, uid): try: uid = decode_uid(uid) user = UserModel.objects.get(pk=uid) if not default_token_generator.check_token(user, token): return Activate(success=False, errors=['stale token']) pass user.is_active = True user.save() return Activate(success=True, errors=None) except Exception: return Activate(success=False, errors=['unknown user'])
def mutate_and_get_payload(cls, input, context, info): token = input.get('token') uid = input.get('uid') try: uid = decode_uid(uid) user = UserModel.objects.get(pk=uid) if not default_token_generator.check_token(user, token): return Activate(success=False, errors=['stale token']) pass return Activate(success=True, errors=None) except: return Activate(success=False, errors=['unknown user'])
def mutate_and_get_payload(cls, input, context, info): token = input.get('token') uid = input.get('uid') try: uid = decode_uid(uid) user = UserModel.objects.get(pk=uid) if not default_token_generator.check_token(user, token): return Activate(success=False, errors=['stale token']) pass user.is_active = True user.save() return Activate(success=True, errors=None) except: return Activate(success=False, errors=['unknown user'])
def validate(self, attrs): validated_data = super().validate(attrs) # uid validation have to be here, because validate_<field_name> # doesn't work with modelserializer try: uid = utils.decode_uid(self.initial_data.get("uid", "")) self.user = User.objects.get(pk=uid) except (User.DoesNotExist, ValueError, TypeError, OverflowError): key_error = "invalid_uid" raise ValidationError({"uid": [self.error_messages[key_error]]}, code=key_error) is_token_valid = self.context["view"].token_generator.check_token( self.user, self.initial_data.get("token", "")) if is_token_valid: return validated_data else: key_error = "invalid_token" raise ValidationError({"token": [self.error_messages[key_error]]}, code=key_error)
def token_validate(uid: str, token: str): """ Validate URL for restarting user password - Decode UID to user ID - Get user instance by user_id - Validate token Return: - False (if token is invalid) - user instance (if token is valid) """ user_id = utils.decode_uid(uid) try: user = get_object_or_404(User, id=user_id) except ValueError: # If inputted wrong UID which is not int return response 'Invalid token' return False token_validate = default_token_generator.check_token(user, token) if not token_validate: return False return user
def activate_view(request, uid, token): # perform POST API request to activate user through API layer payload = {'uid': uid, 'token': token} pk = utils.decode_uid(uid) print(pk) try: target = User.objects.get(pk=pk) print(target) target.is_email_verified = True target.save() message = 'Your account has been activated, thanks for using Hillotask.' except: message = 'There is something wrong with activating your account. Please visit hillotask.com/support for additional help.' # if all is good # if resp.status_code == 200: # message = 'Your account has been activated!' # else: # message = 'There is something wrong with activating your account!' return render(request, 'auth/activate.html', {'message': message})
def activate_view(request, uid, token): # perform POST API request to activate user through API layer payload = {'uid': uid, 'token': token} pk = utils.decode_uid(uid) print(pk) try: target = User.objects.get(pk=pk) print(target) target.is_email_verified = True target.save() message = 'Your account has been activated, thanks for using Hillotask.' except: message = 'There is something wrong with activating your account. Please visit hillotask.com/support for additional help.' # if all is good # if resp.status_code == 200: # message = 'Your account has been activated!' # else: # message = 'There is something wrong with activating your account!' return render(request, 'auth/activate.html', {'message': message})
def get(self, request: HttpRequest, *args, **kwargs: dict[str, str]) -> HttpResponse: try: uid = utils.decode_uid(kwargs['uid']) user = User.objects.get(pk=uid) except (User.DoesNotExist, ValueError, TypeError, OverflowError): return redirect('main:index') if not default_token_generator.check_token(user, kwargs['token']): return redirect('main:index') user.is_active = True user.is_verified = True user.verify_email_sent = timezone.now() user.save(update_fields=('is_active', 'is_verified')) if request.user.is_authenticated: messages.success( request, '¡Se ha verificado tu dirección de e-mail correctamente!', ) return redirect('profile') return redirect('login')
def _get_user(self, uid): try: pk = utils.decode_uid(uid) return User.objects.get(pk=pk) except (ValueError, User.DoesNotExist): return None
def _get_user(self, uid): try: pk = utils.decode_uid(uid) return User.objects.get(pk=pk) except (ValueError, User.DoesNotExist): return None