Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gotlium/django-secure-auth
Secure authentication by TOTP, SMS, Codes & Question. Login protected by IP ranges and with captcha.
https://github.com/gotlium/django-secure-auth
Last synced: about 1 month ago
JSON representation
Secure authentication by TOTP, SMS, Codes & Question. Login protected by IP ranges and with captcha.
- Host: GitHub
- URL: https://github.com/gotlium/django-secure-auth
- Owner: gotlium
- License: gpl-3.0
- Created: 2013-11-22T18:48:23.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-12-26T20:20:35.000Z (over 1 year ago)
- Last Synced: 2024-04-30T20:22:48.531Z (about 2 months ago)
- Language: Python
- Homepage:
- Size: 633 KB
- Stars: 41
- Watchers: 4
- Forks: 12
- Open Issues: 9
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Lists
- awesome-django - django-secure-auth - Secure authentication by TOTP, SMS, Codes & Question. Login protection with ban by IP and captcha. (Security)
- awesome-django - django-secure-auth - Secure authentication by TOTP, SMS, Codes & Question. Login protection with ban by IP and captcha. (Security)
- awesome-django-security - Django Secure Auth
- awesome-django-cn - django-secure-auth, star:23 - 通过 TOTP, 短信, 代码 & 答案等进行安全认证。能根据 IP 和 captcha 进行登录保护。 (安全性)
- awesome-django-cn - django-secure-auth, star:23 - 通过 TOTP, 短信, 代码 & 答案等进行安全认证。能根据 IP 和 captcha 进行登录保护。 (安全性)
- awesome-django-security - Django Secure Auth
- django-awesome - django-secure-auth - Secure authentication by TOTP, SMS, Codes & Question. Login protection with ban by IP and captcha. (Security)
- awesome-django - django-secure-auth - Secure authentication by TOTP, SMS, Codes & Question. Login protection with ban by IP and captcha. (Security)
- awesome-stars - django-secure-auth - Secure authentication by TOTP, SMS, Codes & Question. Login protected by IP ranges and with captcha. (Python)
- awesome-django - django-secure-auth - Secure authentication by TOTP, SMS, Codes & Question. Login protection with ban by IP and captcha. (Security)
- awesome-django - django-secure-auth - Secure authentication by TOTP, SMS, Codes & Question. Login protection with ban by IP and captcha. (Security)
- awesome-django - django-secure-auth - Secure authentication by TOTP, SMS, Codes & Question. Login protection with ban by IP and captcha. (Security)
README
Django-Secure-Auth
==================.. image:: https://landscape.io/github/gotlium/django-secure-auth/master/landscape.svg
:target: https://landscape.io/github/gotlium/django-secure-auth/master
:alt: Code Health
.. image:: https://api.codacy.com/project/badge/grade/e1788d6ac7ca437aa6bbb3abfdf19dce
:target: https://www.codacy.com/app/gotlium/django-secure-auth
:alt: Codacy
.. image:: https://img.shields.io/badge/python-2.7-blue.svg
:alt: Python 2.7, 3.4+
:target: https://pypi.python.org/pypi/django-secure-auth/
.. image:: https://img.shields.io/pypi/v/django-secure-auth.svg
:alt: Current version on PyPi
:target: https://pypi.python.org/pypi/django-secure-auth/
.. image:: https://img.shields.io/pypi/dm/django-secure-auth.svg
:alt: Downloads from PyPi
:target: https://pypi.python.org/pypi/django-secure-auth/
.. image:: https://img.shields.io/badge/license-GPLv3-green.svg
:target: https://pypi.python.org/pypi/django-secure-auth/
:alt: LicenseModule which provide secure authentication by TOTP/SMS/Codes/Question.
Login protected by IP ranges and with captcha, when login attempt will fail.Demo installation:
------------------.. code-block:: bash
$ sudo apt-get install -y virtualenvwrapper redis-server git python-dev || brew install pyenv-virtualenvwrapper redis git geoip
$ source /usr/share/virtualenvwrapper/virtualenvwrapper.sh || source /usr/local/bin/virtualenvwrapper.sh
$ mkvirtualenv django-secure-auth
$ workon django-secure-auth
$ git clone --depth 1 https://github.com/gotlium/django-secure-auth.git
$ cd django-secure-auth
$ pip install -r requirements.txt
$ python setup.py develop
$ cd demo
$ pip install -r requirements.txt
$ python manage.py syncdb --noinput
$ python manage.py migrate --noinput
$ python manage.py createsuperuser --username admin --email [email protected]
$ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
$ gunzip GeoLiteCity.dat.gz
$ mkdir -p /usr/share/geoip/; mv GeoLiteCity.dat /usr/share/geoip/
$ cd ../Open settings:
.. code-block:: bash
$ vim demo/settings.py
Replace Twilio credentials in ``AUTH_SMS_BACKEND_AUTH`` to your demo account settings or change SMS_FORCE to False.
Run Redis server and Celery daemon(or remove 'djcelery' from ``INSTALLED_APPS``):
.. code-block:: bash
$ make run_redis
$ make run_celeryRun test server:
.. code-block:: bash
$ make run_server
Now you can open https://127.0.0.1:8000/accounts/register/ and register
new account and setup all available authentication methods.*Note: activation link will be output to console.*
Crontab
-------When you are using TOTP auth method, please update your server time.
If your server time is behind from real time, user cannot be authenticated by authenticator app.
You can run ntpd clients, or update time on server by cron job:.. code-block:: bash
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
MAILTO=root@localhost# Update time
0 */6 * * * ntpdate ntp.ubuntu.com >& /dev/nullScreenshots
-----------
.. image:: /screenshots/login-confirmation.jpg
.. image:: /screenshots/settings.jpg
.. image:: /screenshots/two-factor-configuration.jpg
.. image:: /screenshots/sms-settings.jpgCompatibility
-------------
* Python: 2.7
* Django: 1.4, 1.8