Metadata-Version: 1.1
Name: django-secured-accounts
Version: 1.0.0
Summary: Full featured user app with built-in verification and activity stream
Home-page: https://test.pypi.org/legacy/
Author: Ahmed Shehab
Author-email: ahbox@outlook.com
License: BSD-3-Clause
Description: ========
        Accounts
        ========
        
        Accounts is a Django app handles essential user security
        
        - Email verification upon register
        - Phone is enforced and mandatory "handled by Twilio sms service"
        - Device access location "handled by geoip2 and maxmind db"
        - Activity stream for user access
        
        Indeed it is opinionated user app as follows:
        
        * User class is AbstractUser has a Profile foreign key
        * Profile with has fields like photo and date_of_birth
        
        Check the docs for deep details.
        
        Quick start
        -----------
        
        1. Add "accounts" to your INSTALLED_APPS setting like this::
        
            INSTALLED_APPS = [
                ...
                'accounts',
            ]
        
            TEMPLATES = [
            {
                'BACKEND': 'django.template.backends.django.DjangoTemplates',
                'DIRS': ['accounts/templates'],
                ...
            }]
        2. Include the accounts URLconf in your project urls.py like this::
        
                path('accounts/',
                include(('accounts.urls', 'accounts'), namespace='auth'))
        
        
        * Note: mind the namespace as it is used in templates and testing.
        
        3. Set mandatory settings::
        
            # refers to the user model
            AUTH_USER_MODEL = 'accounts.User'
            MEDIA_ROOT = os.path.join(BASE_DIR, "media")
            MEDIA_URL = '/media/'
            # this is on-demand auth backends
            AUTHENTICATION_BACKENDS = [
                'accounts.authentication.EmailAuthBackend',
                'accounts.authentication.PhoneAuthBackend',
                'accounts.authentication.UsernameAuthBackend',
            ]
            # your favorite email backend
            # just for testing it is set to console
            EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
        
            # maxmind db required
            # follow https://docs.djangoproject.com/en/3.1/ref/contrib/gis/geoip2/
            GEOIP_PATH = os.path.join(BASE_DIR, 'path/to/maxmind/db')
        
            # Twilio required sms validation
            # get keys from https://www.twilio.com/
            TWILIO_API_KEY = ""
            TWILIO_AUTH_TOKEN = ""
            TWILIO_PHONE_NUMBER = ""
        
        
        4. Run ``python manage.py migrate`` to create the accounts models.
        
        5. Start the development server and visit http://127.0.0.1:8000/accounts/login/
        
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.1
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
