======================================= Authentic 2 - Versatile Identity Server ======================================= Authentic 2 is a versatile identity management server aiming to address a broad range of needs, from simple to complex setups; it has support for many protocols and can bridge between them. Authentic 2 supports many protocols and standards, including SAML2, CAS, LDAP, X509 and OAUTH2. Authentic 2 is under the GNU AGPL version 3 licence. It has support for SAMLv2 thanks to `Lasso `_, a free (GNU GPL) implementation of the Liberty Alliance and OASIS specifications of SAML2. Authentic 2 requires Python 2.7 and Django 1.7. Full documentation available on http://authentic2.readthedocs.org/en/stable/, maintained in a distinct repository https://git.entrouvert.org/authentic2-doc.git/. Features -------- * SAML 2.0 Identity and service provider * Server CAS 1.0 and 2.0 using a plugin * Standards authentication mechanisms: * Login/password through internal directory or LDAP * X509 certificate over SSL/TLS * Protocol proxying * Support of LDAP v2 and v3 directories * Support of the PAM backend * One-time password (OATH and Google-Authenticator) using a plugin * Identity attribute management * Plugin system Installation ============ First of all, you can boot Authentic vwithout root privileges like this: # Initialize a virtualenv:: virtualenv authentic source ./authentic/bin/activate cd authentic # Install Authentic:: pip install # Initialize the database migrations:: manage.py syncdb --migrate # Run the HTTP test server:: manage.py runserver Upgrade ======= .. WARNING:: Version 2.2.0 is the first version supporting only Django 1.7, if you are using a previous one you must first upgrade to 2.1.12 before tempting upgrade to a release later than 2.2.0. Code Style ========== black is used to format the code, using thoses parameters: black --target-version py37 --skip-string-normalization --line-length 110 There is .pre-commit-config.yaml to use pre-commit to automatically run black before commits. (execute `pre-commit install` to install the git hook.) isort is used to format the imports, using those parameter: isort --profile black --line-length 110 pyupgrade is used to automatically upgrade syntax, using those parameters: pyupgrade --keep-percent-format --py37-plus djhtml is used to automatically indent html files, using those parameters: djhtml --tabwidth 2 django-upgrade is used to automatically upgrade Django syntax, using those parameters: django-upgrade --target-version 3.2 There is .pre-commit-config.yaml to use pre-commit to automatically run these tools before commits. (execute `pre-commit install` to install the git hook.) Support ======= Authentic's developpers and users hangs on the mailing list authentic@listes.entrouvert.com See archives or register at http://listes.entrouvert.com/info/authentic. You can "open":http://dev.entrouvert.org/projects/authentic/issues/new bug reports or feature request on this site. Entr'ouvert also provides a commercial support. For information, see http://www.entrouvert.com. Copyright ========= Authentic is copyrighted by Entr'ouvert and is licensed through the GNU Affero General Public Licence, version 3 or later. A copy of the whole license text is available in the COPYING file.