Versatile identity management server
Go to file
Benjamin Dauvergne 4dc8f6aab7
gitea/authentic/pipeline/head This commit looks good Details
misc: remove dead logged-in JSONP endpoint (#88195)
2024-03-20 16:37:06 +01:00
data [saml2] add a default certificate and aSAML_SIGNING_KEY setting 2010-12-14 16:39:25 +01:00
debian misc: make opened session cookie http only and secure (#76809) 2024-01-18 17:27:54 +01:00
source Initial packaging 2019-05-31 14:51:55 +02:00
src misc: remove dead logged-in JSONP endpoint (#88195) 2024-03-20 16:37:06 +01:00
tests manager: add display condition on homepage sidebar title (#87961) 2024-03-20 09:28:37 +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: update git-blame-ignore-revs to ignore quote changes (#80252) 2023-08-03 14:50:13 +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 misc: add pre commit hook to force single quotes (#80252) 2023-08-03 14:46:18 +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 CI: let (now more powerful) jenkins run more concurrent threads (#84578) 2023-12-11 16:55:33 +01: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: change django-upgrade target version to 3.2 (#75442) 2023-03-16 10:26:43 +01:00
check-migrations.sh tox.ini: remove constraint on pylint version (#84019) 2023-12-18 08:09:16 +01: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: apply double-quote-string-fixer (#80252) 2023-08-03 14:47:00 +02:00
merge-coverage.py misc: apply double-quote-string-fixer (#80252) 2023-08-03 14:47:00 +02:00
pylint.rc pylint.rc: ignore use-dict-literal (R1735) error (#74065) 2023-02-03 08:37:43 +01:00
pylint.sh ci: speed up CI using multiple processes with pylint (#42144) 2022-07-06 22:32:15 +02:00
setup.py misc: add dependency on publik-django-templatetags to setup.py (#84358) 2023-12-07 00:01:26 +01:00
tox.ini tests: remove httmock from tox.ini deps (#87799) 2024-03-05 17:18:54 +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 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.