Metadata-Version: 2.1
Name: django-custom-user-models
Version: 0.0.82
Summary: A custom user model for django authentication
Home-page: https://github.com/MHolger77/django-auth
Author: mohammad hosein shamsaei
Author-email: mh.shamsaei.ms@gmail.com
License: UNKNOWN
Description: # Django custom user model
        
        A Custom User model for authentication
        
        ## Requirement
        * Python (3.5, 3.6, 3.7, 3.8)
        * Django (1.11, >2.0, 2.1, 2.2, 3.0, 3.1)
        
        ## Installation
        Install using ``pip``
            
            pip install django-custom-user-models
            
        Add to ``INSTALLED_APPS`` setting
        
            INSTALLED_APPS = {
                ...
                'CustomAuth',
                ...
            }
        
        Set ``AUTH_USER_MODEL`` setting before first migrate
            
            AUTH_USER_MODEL = 'CustomAuth.User'
            
        Migrate apps
        
            py manage.py migrate
            
        ## Usage
        
        ### Status Handler
        Add ``handler`` to ``yourproject/urls.py``
        ```python
        from CustomAuth.urls import handler400, handler401, handler403, handler404, handler500
        ```
        
        ### Authentication template
        Add to `settings.py`
        ##### profile url
        
        ```python
        USER_PROFILE_URL = '<your user profile url>' # default '/profile/'
        ```
        
        ##### login redirect url
        ```python
        LOGIN_REDIRECT_URL = '<your login redirect>' # default '/account/profile/'
        ```
        
         
        ##### logout redirect url
        ```python
        LOGOUT_REDIRECT = '<your logout redirect>' # default '/'
        ```
        ##### signup successfully redirect
        ```python
        SIGNUP_SUCCESSFULLY_URL = '<your signup successfully redirect url>' # default '/profile/'
        ```
        
        ##### verification successfully redirect
        ```python
        VERIFY_SUCCESSFULLY =  '<your verify successfully redirect url>' # default '/profile/' 
        ```
        
        #### verification failed redirect
        ```python
        VERIFY_FAILED = '<your verify failed redirect url>' # default 'Verification link is invalid!'
        ```
        ##### Email config
        For verify email you should config email smtp server, example(gmail): 
        ```python
        EMAIL_HOST = 'smtp.gmail.com'
        EMAIL_PORT = 587
        EMAIL_HOST_USER = 'your name@gmail.com'
        EMAIL_HOST_PASSWORD = 'your password'
        EMAIL_USE_TSL = True
        DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
        EMAIL_FROM = EMAIL_HOST_USER
        EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
        ```
        
        ### Magic Link
        Use magic link for auto authentication user.
        Add to `settings.py`
         ```python
        AUTHENTICATION_BACKENDS = (
            # ... 
            'CustomAuth.backends.MagicLinkBackend', # magic backend
            # ...
        )
        
        MIDDLEWARE = [
            # ...
            'django.contrib.sessions.middleware.SessionMiddleware',
            'django.contrib.auth.middleware.AuthenticationMiddleware',
            # ...
            'CustomAuth.middleware.magic.MagicMiddleware', # Magic middleware
            # ...
        ]
        ```
        
        ### JWT Authentication
        For get new jwt token with 2 month expire time.
            
            curl -H "jwt-authentication:<your token>" -X GET <your host>/jwt/token
        
        For authenticate with jwt use your token.
            
            curl -H "jwt-authentication:<your token>" -X GET <your host>/<relative path>
        
        ### Multi database handling
        For save user in multiple databases:
        ```python
        AUTH_DATABASES = ['first database name', 'second database name', ... ]
        ```
        
        ### Table show
        Add 'django_tables2' to INSTALLED_APPS and make sure that "django.template.context_processors.request" 
        is added to the context_processors in your template setting OPTIONS
        
        ## Versioning
        This project follows [Semantic Versioning 2.0.0.](http://semver.org/spec/v2.0.0.html)
        
            
        ## License
        This project follows the BSD license. See the [LICENSE](./LICENSE) for details.
        
        * MIT: http://opensource.org/licenses/MIT
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Python: >=3.6
Description-Content-Type: text/markdown
