Versatile identity management server
Go to file
Benjamin Dauvergne 89b526066d auth_fc: store id_token in session when linking (#69989)
Password change view is hidden only if the current session was opened
with FranceConnect and if the id_token is visible in the session, this
change will enforce the second condition when during the same session
the account is unlinked and linked again to FranceConnect.

It will also permit to launch a logout if the link fails.
2022-11-28 15:05:01 +01:00
data [saml2] add a default certificate and aSAML_SIGNING_KEY setting 2010-12-14 16:39:25 +01:00
debian debian: make migrate_schemas verbose (#70799) 2022-10-28 08:02:41 +02:00
source Initial packaging 2019-05-31 14:51:55 +02:00
src auth_fc: store id_token in session when linking (#69989) 2022-11-28 15:05:01 +01:00
tests a2_rbac: add global management role for api clients (#71267) 2022-11-28 09:12:47 +01:00
tests_rbac tests: move test_rbac to main tests (#58696) 2022-10-05 10:35:28 +02:00
.coveragerc .coveragerc: fix omit paths 2015-09-22 11:17:25 +02:00
.git-blame-ignore-revs misc: add django-upgrade files/notes (#69426) 2022-10-03 14:20:48 +02:00
.gitignore misc: use scss for all css files (#62936) 2022-03-29 10:54:16 +02:00
.gitmodules manager: add gadjo as a submodule (refs #5180) 2014-08-14 11:17:34 +02:00
.pre-commit-config.yaml ci: update pyupgrade to 3.1.0 (#70693) 2022-10-28 08:02:41 +02:00
AUTHORS.txt AUTHORS: update 2013-11-14 15:54:09 +01:00
COPYING remove authentic2_idp_openid (fixes #23515) 2018-07-01 13:51:44 +02:00
Jenkinsfile tests: move test_rbac to main tests (#58696) 2022-10-05 10:35:28 +02:00
MANIFEST.in MANIFEST.in: add missing auth_fc txt templates (#71695) 2022-11-25 00:56:39 +01:00
NEWS Prepare release 2.1.13 2015-03-23 17:25:46 +01:00
README misc: rename authentic2-ctl to manage.py (#70162) 2022-10-17 16:51:20 +02:00
check-migrations.sh misc: rename authentic2-ctl to manage.py (#70162) 2022-10-17 16:51:20 +02:00
getlasso3.sh misc: make getlasso3.sh non verbose 2022-10-18 15:13:13 +02:00
local_settings.py.example remove authentic2_idp_openid (fixes #23515) 2018-07-01 13:51:44 +02:00
manage.py misc: rename authentic2-ctl to manage.py (#70162) 2022-10-17 16:51:20 +02:00
merge-coverage.py misc: apply pyupgrade (#55519) 2021-07-12 12:03:44 +02:00
pylint.rc pylint: ignore unsupported-binary-operation (#68470) 2022-08-29 08:32:50 +02:00
pylint.sh ci: speed up CI using multiple processes with pylint (#42144) 2022-07-06 22:32:15 +02:00
setup.py setup: add phonenumbers dependency (#70486) 2022-10-19 16:16:06 +02:00
tox.ini tox: ignore tests/ when updating locales (#71523) 2022-11-22 12:05:28 +01:00
update-locales.sh use tox in update-locales.sh 2021-07-30 14:14:38 +02:00

README

=======================================
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 2.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.