jbittel / django-mama-cas

A Django Central Authentication Service (CAS) single sign-on server
BSD 3-Clause "New" or "Revised" License
397 stars 112 forks source link

MamaCAS

.. image:: https://travis-ci.org/jbittel/django-mama-cas.svg?branch=master :target: https://travis-ci.org/jbittel/django-mama-cas .. image:: https://badge.fury.io/py/django-mama-cas.svg :target: https://badge.fury.io/py/django-mama-cas

MamaCAS is a Django Central Authentication Service (CAS)_ single sign-on and single logout server. It implements the CAS 1.0, 2.0 and 3.0 protocols, including some of the optional features.

CAS_ is a single sign-on and single logout web protocol that allows a user to access multiple applications after providing their credentials a single time. It utilizes security tickets, unique text strings generated and validated by the server, allowing applications to authenticate a user without direct access to the user's credentials (typically a user ID and password).

The source code can be found at github.com/jbittel/django-mama-cas, and is the preferred location for contributions, suggestions and bug reports. Documentation is available at django-mama-cas.readthedocs.org.

Quickstart

Django versions 2.2 to 3.2 are supported. It should work with Django >= 2.0 though.

Install with pip_::

$ pip install django-mama-cas

Add to INSTALLED_APPS and run migrate::

INSTALLED_APPS += ('mama_cas',)

Include the URLs::

urlpatterns += [url(r'', include('mama_cas.urls'))]

See the full installation instructions_ for details.

Upgrade

Upgrade with pip_::

$ pip install --upgrade django-mama-cas

Before upgrading, see the changelog_ for any backward incompatible changes or other important upgrade notes.

Contributing

Contributions are welcome! The preferred process for changes is by submitting GitHub pull requests. New code should follow both PEP8 and the Django coding style, generally respecting the style of the surrounding code. When appropriate, pull requests should add or update tests, along with any necessary documentation changes. With any substantial contribution, feel free to add yourself as a contributor in the AUTHORS file.

Development dependencies can be installed from requirements.txt. Execute the test suite with::

$ py.test

You can use tox_ to run the tests against all supported versions of Python and Django.

.. _Central Authentication Service (CAS): .. _CAS: https://wiki.jasig.org/display/CAS/Home .. _github.com/jbittel/django-mama-cas: https://github.com/jbittel/django-mama-cas .. _django-mama-cas.readthedocs.org: http://django-mama-cas.readthedocs.org/ .. _pip: https://pip.pypa.io/ .. _installation instructions: http://django-mama-cas.readthedocs.org/en/latest/installation.html .. _changelog: http://django-mama-cas.readthedocs.org/en/latest/changelog.html .. _PEP8: http://www.python.org/dev/peps/pep-0008 .. _Django coding style: https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style .. _tox: http://tox.testrun.org/