Serializers
Authentication and user management serializers for DRF Auth Kit.
Login Serializers
- auth_kit.serializers.login.get_login_serializer() type[Serializer]
Get the login serializer class based on current settings.
This function creates the serializer class dynamically by combining the appropriate request and response serializers based on current auth kit settings.
- Returns:
The combined login serializer class
- class auth_kit.serializers.login_factors.LoginRequestSerializer(*args, **kwargs)
Bases:
SerializerUser authentication credentials.
- __init__(*args: Any, **kwargs: Any) None
Initialize login serializer.
- Parameters:
*args – Variable length argument list
**kwargs – Arbitrary keyword arguments
- authenticate(**kwargs: Any) AbstractBaseUser | None
Authenticate user with provided credentials.
- Parameters:
**kwargs – Authentication credentials
- Returns:
Authenticated user instance or None
- get_auth_user(username: str | None, email: str | None, password: str | None) AbstractBaseUser | None
Get authenticated user based on username/email and password.
- Parameters:
username – Username for authentication
email – Email for authentication
password – Password for authentication
- Returns:
Authenticated user instance or None
- class auth_kit.serializers.login_factors.BaseLoginResponseSerializer(*args, **kwargs)
Bases:
SerializerAuthentication response with user details.
- class auth_kit.serializers.login_factors.JWTResponseSerializer(*args, **kwargs)
Bases:
JWTSerializer,BaseLoginResponseSerializerJWT authentication tokens and user information.
- class auth_kit.serializers.login_factors.TokenResponseSerializer(*args, **kwargs)
Bases:
TokenSerializer,BaseLoginResponseSerializerDRF token authentication and user information.
- auth_kit.serializers.login_factors.get_login_response_serializer() type[BaseLoginResponseSerializer]
Get the appropriate login response serializer based on current settings.
- Returns:
The appropriate response serializer class
JWT Serializers
- class auth_kit.serializers.jwt.CookieTokenRefreshSerializer(*args, **kwargs)
Bases:
TokenRefreshSerializer,JWTSerializerJWT token refresh with cookie and request data support.
- __init__(*args: Any, **kwargs: Any) None
Initialize password change serializer.
- Parameters:
*args – Variable length argument list
**kwargs – Arbitrary keyword arguments
- class auth_kit.serializers.jwt.JWTSerializer(*args, **kwargs)
Bases:
SerializerJWT access and refresh tokens with expiration timestamps.
Token Serializers
- class auth_kit.serializers.token.TokenSerializer(*args, **kwargs)
Bases:
SerializerDRF authentication token.
User Serializers
Registration Serializers
- class auth_kit.serializers.RegisterSerializer(*args, **kwargs)
Bases:
SerializerUser registration with email verification.
- __init__(*args: Any, **kwargs: Any) None
Initialize login serializer.
- Parameters:
*args – Variable length argument list
**kwargs – Arbitrary keyword arguments
- custom_signup(request: Request, user: AbstractBaseUser) None
Perform custom signup logic.
Override this method to add custom registration logic.
- Parameters:
request – The HTTP request object
user – The newly created user instance
- get_cleaned_data() dict[str, Any]
Get cleaned registration data.
- Returns:
Dictionary of cleaned registration data
- save(**kwargs: Any) AbstractBaseUser
Save the new user account.
- Parameters:
**kwargs – Additional keyword arguments
- Returns:
The newly created user instance
- Raises:
ValidationError – If password validation fails
- validate(attrs: dict[str, Any]) dict[str, Any]
Validate registration data including password confirmation.
- Parameters:
attrs – Input attributes dictionary
- Returns:
Validated attributes
- Raises:
ValidationError – If passwords don’t match
- validate_email(email: str) str
Validate and clean email address.
- Parameters:
email – Email address to validate
- Returns:
Cleaned email address
- Raises:
ValidationError – If email is already registered
- class auth_kit.serializers.VerifyEmailSerializer(*args, **kwargs)
Bases:
SerializerEmail address verification with confirmation key.
- class auth_kit.serializers.ResendEmailVerificationSerializer(*args, **kwargs)
Bases:
SerializerRequest new email verification message.
Password Serializers
- class auth_kit.serializers.PasswordChangeSerializer(*args, **kwargs)
Bases:
SerializerPassword change for authenticated users.
- __init__(*args: Any, **kwargs: Any) None
Initialize password change serializer.
- Parameters:
*args – Variable length argument list
**kwargs – Arbitrary keyword arguments
- custom_validation(attrs: dict[str, Any]) None
Perform custom validation on password change data.
Override this method to add custom validation logic.
- Parameters:
attrs – Attributes dictionary to validate
- save(**kwargs: Any) AbstractBaseUser
Save the new password for the user.
- Parameters:
**kwargs – Additional keyword arguments
- Returns:
The user instance with updated password
- set_password_form = None
- set_password_form_class
alias of
SetPasswordForm
- class auth_kit.serializers.PasswordResetSerializer(*args, **kwargs)
Bases:
SerializerPassword reset request with email verification.
- get_email_options() dict[str, Any]
Get email options for password reset.
Override this method to change default email options.
- Returns:
Dictionary of email options
- reset_form = None
- class auth_kit.serializers.PasswordResetConfirmSerializer(*args, **kwargs)
Bases:
SerializerPassword reset confirmation with new password.
- custom_validation(attrs: dict[str, Any]) None
Perform custom validation on password reset data.
Override this method to add custom validation logic.
- Parameters:
attrs – Attributes dictionary to validate
- save(**kwargs: Any) AbstractBaseUser
Save the new password for the user.
- Parameters:
**kwargs – Additional keyword arguments
- Returns:
The user instance with updated password
- set_password_form = None
- set_password_form_class
alias of
SetPasswordForm
- user = None
Logout Serializers
- class auth_kit.serializers.logout.AuthKitLogoutSerializer(*args, **kwargs)
Bases:
SerializerLogout confirmation for token-based authentication.
Custom Fields
- class auth_kit.serializer_fields.UnquoteStringField(*args, **kwargs)
Bases:
CharFieldCharField that automatically URL-decodes input values.
Useful for handling URL-encoded strings in API requests, particularly for email verification tokens and similar data.