
Django package that uses AWS Cognito and Warrant to create a Django backend and common views.
Django Warrant is a powerful tool that seamlessly integrates AWS Cognito with Django applications. It streamlines user authentication processes by leveraging the robust capabilities of AWS's User Pool services. With its user-friendly setup and flexibility, developers can easily manage authentication while ensuring secure access control.
Integrating AWS Cognito into your Django project can enhance its authentication mechanisms. With configurations that allow for easy mapping of user attributes and enhanced user management functionalities, Django Warrant is ideal for developers looking to create a secure and efficient user authentication system.
Cognito User Pool Integration: Connects your Django application directly with AWS Cognito, enabling secure user authentication using established AWS services.
Custom Attribute Mapping: Easily configure user attributes by setting up a mapping dictionary that aligns Cognito attributes to Django User attributes, including support for custom attributes.
Dynamic User Creation: Optionally, create local Django users upon successful login when the COGNITO_CREATE_UNKNOWN_USERS setting is enabled, facilitating easier user management.
Identity Token Management: Automatically stores Cognito identity tokens (ID, Refresh, Access tokens) in the user's request session for streamlined session management.
Error Handling: Robust handling of specific errors from Cognito, such as not authorized or user not found exceptions, ensuring graceful degradation of authentication processes.
API Key Middleware: Enhances API security by checking for the HTTP_AUTHORIZATION_ID header, linking it to the request object for easier access management.
Custom Backend Options: Allows developers to create custom backend classes derived from CognitoBackend, providing further control over user login behavior and interactions.
