authentic/README

121 lines
3.3 KiB
Plaintext

=======================================
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 <http://lasso.entrouvert.org>`_,
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.