diff --git a/README.rst b/README.rst index 2617008..5a17cc2 100644 --- a/README.rst +++ b/README.rst @@ -7,18 +7,26 @@ CAS Server .. image:: https://travis-ci.org/nitmir/django-cas-server.svg?branch=master :target: https://travis-ci.org/nitmir/django-cas-server -CAS Server is a Django app implementing the `CAS Protocol 3.0 Specification +CAS Server is a Django application implementing the `CAS Protocol 3.0 Specification `_. By defaut, the authentication process use django internal users but you can easily use any sources (see auth classes in the auth.py file) -The differents parametters you can use in settings.py to tweak the application -are listed in default_settings.py - The defaut login/logout template use `django-bootstrap3 `_ -but you can use your own templates using the CAS_LOGIN_TEMPLATE, -CAS_LOGGED_TEMPLATE, CAS_WARN_TEMPLATE and CAS_LOGOUT_TEMPLATE setting variables. +but you can use your own templates using settings variables. + +Features +-------- + +* Support CAS version 1.0, 2.0, 3.0 +* Support Single Sign Out +* Configuration of services via the django Admin application +* Fine control on which user's attributes are passed to which service +* Possibility to rename/rewrite attributes per service +* Possibility to require some attribute values per service +* Supports Django 1.7, 1.8 and 1.9 +* Supports Python 2.7, 3.x Quick start ----------- @@ -26,6 +34,7 @@ Quick start 1. Add "cas_server" to your INSTALLED_APPS setting like this:: INSTALLED_APPS = ( + 'django.contrib.admin', ... 'bootstrap3', 'cas_server', @@ -40,9 +49,13 @@ Quick start ... ) -2. Include the polls URLconf in your project urls.py like this:: +2. Include the cas_server URLconf in your project urls.py like this:: - url(r'^cas/', include('cas_server.urls', namespace="cas_server")), + urlpatterns = [ + url(r'^admin/', admin.site.urls), + ... + url(r'^cas/', include('cas_server.urls', namespace="cas_server")), + ] 3. Run `python manage.py migrate` to create the cas_server models. @@ -130,7 +143,7 @@ Mysql backend settings. Only usefull is you use the mysql authentication backend * ``CAS_SQL_DBCHARSET``: Database charset. The default is ``"utf8"`` * ``CAS_SQL_USER_QUERY``: The query performed upon user authentication. The username must be in field ``username``, the password in ``password``, - additional fields are used as the user attributs. + additional fields are used as the user attributes. The default is ``"SELECT user AS usersame, pass AS password, users.* FROM users WHERE user = %s"`` * ``CAS_SQL_PASSWORD_CHECK``: The method used to check the user password. Must be ``"crypt"`` or ``"plain``". The default is ``"crypt"``. @@ -142,8 +155,8 @@ Authentication backend * dummy backend ``cas_server.auth.DummyAuthUser``: all authentication attempt fails. * test backend ``cas_server.auth.TestAuthUser``: username is ``test`` and password is ``test`` - the returned attributs for the user are: ``{'nom': 'Nymous', 'prenom': 'Ano', 'email': 'anonymous@example.net'}`` + the returned attributes for the user are: ``{'nom': 'Nymous', 'prenom': 'Ano', 'email': 'anonymous@example.net'}`` * django backend ``cas_server.auth.DjangoAuthUser``: Users are anthenticated agains django users system. - This is the default backend. The returned attributs are the fields available on the user model. + This is the default backend. The returned attributes are the fields available on the user model. * mysql backend ``cas_server.auth.MysqlAuthUser``: see the 'Mysql backend settings' section. - The returned attributs are those return by sql query ``CAS_SQL_USER_QUERY``. + The returned attributes are those return by sql query ``CAS_SQL_USER_QUERY``. diff --git a/setup.py b/setup.py index 79fcd89..10dee14 100644 --- a/setup.py +++ b/setup.py @@ -10,10 +10,16 @@ os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir))) setup( name='django-cas-server', version='0.3.4', - packages=['cas_server', 'cas_server.migrations', 'cas_server.management', 'cas_server.management.commands'], + packages=[ + 'cas_server', 'cas_server.migrations', + 'cas_server.management', 'cas_server.management.commands' + ], include_package_data=True, license='GPLv3', - description='A Django app implementing the CAS Protocol 3.0 Specification', + description=( + 'A Django Central Authentication Service server ' + 'implementing the CAS Protocol 3.0 Specification' + ), long_description=README, author='Valentin Samir', author_email='valentin.samir@crans.org', @@ -37,8 +43,10 @@ setup( ] }, keywords=['django', 'cas', 'cas3', 'server', 'sso', 'single sign-on', 'authentication', 'auth'], - install_requires=['Django >= 1.7,<1.10', 'requests >= 2.4', 'requests_futures >= 0.9.5', - 'django-picklefield >= 0.3.1', 'django-bootstrap3 >= 5.4', 'lxml >= 3.4'], + install_requires=[ + 'Django >= 1.7,<1.10', 'requests >= 2.4', 'requests_futures >= 0.9.5', + 'django-picklefield >= 0.3.1', 'django-bootstrap3 >= 5.4', 'lxml >= 3.4' + ], url="https://github.com/nitmir/django-cas-server", download_url="https://github.com/nitmir/django-cas-server/releases", zip_safe=False