114 lines
3.1 KiB
Plaintext
114 lines
3.1 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::
|
|
|
|
authentic2-ctl syncdb --migrate
|
|
|
|
# Run the HTTP test server::
|
|
|
|
authentic2-ctl 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
|
|
|
|
There is .pre-commit-config.yaml to use pre-commit to automatically run black,
|
|
isort and pyupgrade 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.
|