Skip to main content

Authentic, a versatile identity server

Project description

Authentic - Versatile Identity Server

Authentic is a versatile identity provider aiming to address a broad
range of needs, from simple to complex setups; it has support for many
protocols and can bridge between them.

It has support for SAMLv2 thanks to Lasso, a free (GNU GPL)
implementation of the Liberty Alliance specifications.


You must install the following packages to use Authentic

* Python Lasso binding::

From sources:
Debian based distribution: apt-get install python-lasso

* Django-registration::

From sources:
Debian based distribution: apt-get install python-django-registration

* Django-debug-toolbar::

From sources:
Debian based distribution: apt-get install python-django-registration

* Django-authopenid::

From sources:

Quick Start

Then launch the following commands::

python syncdb
python runserver

You should see the following output::

Validating models...
0 errors found

Django version 1.2, using settings 'authentic.settings'
Development server is running at
Quit the server with CONTROL-C.

You can access the running application on

Specifying a different database

This is done by modifying the DATABASES dictionary in your file
(create it in Authentic project directory); for example::

DATABASES['default'] = {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'authentic',
'USER': 'admindb',
'PASSWORD': 'foobar',
'HOST': '',
'PORT': '', # empty string means default value

You should refer to the Django documentation on databases settings at for all
the details.

How to authenticate users against an LDAP server with anonymous binding ?

1. Install the django_auth_ldap module for Django::

pip install django_auth_ldap

2. Configure your file for authenticating agains LDAP.
The next lines must be added::

import ldap
from django_auth_ldap.config import LDAPSearch

# Here put the LDAP URL of your server
# Let the bind DN and bind password blank for anonymous binding
# Lookup user under the branch o=base and by mathcing their uid against the
# received login name
ldap.SCOPE_SUBTREE, "(uid=%(user)s)")

How to I authenticate against Authentic2 with a SAMLv2 service provider ?

1. Get the metadata file from the URL::


And configure your service provider with it.

2. Go to the providers admin panel on::


There create a new provider using the service provider metadata and enable it
as a service provider, you can customize some behaviours like the preferred
assertion consumer or encryption for the NameID or the Assertion element.

Authentic is copyrighted by Entr'ouvert and is licensed through the GNU General
Public Licence, version 2 or later. A copy of the whole license text is
available in the COPYING file.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for authentic2, version 1.9.0
Filename, size File type Python version Upload date Hashes
Filename, size authentic2-1.9.0.tar.gz (346.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page