Versatile identity management server
Go to file
Benjamin Dauvergne 571636a0e0
gitea/authentic/pipeline/head This commit looks good Details
misc: review next_url management on profile, password reset and registration views (#76835)
All forms used on a view handling a next_url must inherit from
NextUrlFormMixin and the view from NextUrlViewMixin or
SuccessUrlViewMixin (the latter if the view will redirect itself to this
url).

NextUrlViewMixin automatically create a form class inheriting from
NextUrlFormMixin if needed. The form class only need to declare
NextUrlFormMixin when it has a direct use of the next_url field, for
example PasswordResetForm needs it to make the reset link.

The new behaviour is more Django-esque as success_url is used as the
next_url of last resort as implemented in Django generic views.

The password change done views was removed as it's not the flow we
wanted, after password change people are by default returned to the
account_management view.

Next url support is removed from the password change view, there is no
need for it, we should always return to the account management page.
Dead code was also removed (get_context_data()).
2024-02-28 07:35:59 +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: review next_url management on profile, password reset and registration views (#76835) 2024-02-28 07:35:59 +01:00
tests misc: review next_url management on profile, password reset and registration views (#76835) 2024-02-28 07:35:59 +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 tox.ini: simplify coverage configuration (#1) 2024-01-15 15:01:50 +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.