{ "info": { "author": "(Chris Williams), Sebastian Annies", "author_email": "(chris@nitron.org), sebastian.annies@googlemail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django", "License :: OSI Approved :: MIT License" ], "description": "===================\ndjango-cas-provider\n===================\n\nOVERVIEW\n=========\n\ndjango-cas-provider is a provider for the `Central Authentication Service `_. It supports CAS version 1.0 and parts of CAS version 2.0 protocol. It allows remote services to authenticate users for the purposes of Single Sign-On (SSO). For example, a user logs into a CAS server\n(provided by django-cas-provider) and can then access other services (such as email, calendar, etc) without re-entering her password for each service. For more details, see the `CAS wiki `_ and `Single Sign-On on Wikipedia `_.\n\nINSTALLATION\n=============\n\nTo install, run the following command from this directory::\n\n python setup.py install\n\nOr, put `cas_provider` somewhere on your Python path.\n\nIf you want use CAS v.2 protocol or above, you must install `lxml` package to correct work.\n\nUPDATING FROM PREVIOUS VERSION\n===============================\n\nI introduced south for DB schema migration. The schema from any previous version without south is 0001_initial.\nYou will get an error:\n\n ``Running migrations for cas_provider:``\n\n ``- Migrating forwards to 0001_initial.``\n\n ``> cas_provider:0001_initial``\n\n ``Traceback (most recent call last):``\n\n ``...``\n\n ``django.db.utils.DatabaseError: relation \"cas_provider_serviceticket\" already exists``\n\nto circumvent that problem you will need to fake the initial migration:\n\n python manage.py migrate cas_provider 0001_initial --fake\n\n\nUSAGE\n======\n\n#. Add ``'cas_provider'`` to your ``INSTALLED_APPS`` tuple in *settings.py*.\n#. In *settings.py*, set ``LOGIN_URL`` to ``'/cas/login/'`` and ``LOGOUT_URL`` to ``'/cas/logout/'``\n#. In *urls.py*, put the following line: ``(r'^cas/', include('cas_provider.urls')),``\n#. Create login/logout templates (or modify the samples)\n#. Use 'cleanuptickets' management command to clean up expired tickets\n\nSETTINGS\n=========\n\nCAS_TICKET_EXPIRATION - minutes to tickets expiration. Default is 5 minutes.\n\nCAS_CUSTOM_ATTRIBUTES_CALLBACK - name of callback to provide dictionary with\nextended user attributes (may be used in CAS v.2 or above). Default is None.\n\nCAS_CUSTOM_ATTRIBUTES_FORMAT - name of custom attribute formatter callback will be\nused to format custom user attributes. This package provide module `attribute_formatters`\nwith formatters for common used formats. Available formats styles are `RubyCAS`, `Jasig`\nand `Name-Value. Default is Jasig style. See module source code for more details.\n\nCAS_AUTO_REDIRECT_AFTER_LOGOUT - If False (default behavior, specified in CAS protocol)\nafter successful logout notification page will be shown. If it's True, after successful logout will\nbe auto redirect back to service without any notification.\n\n\nPROTOCOL DOCUMENTATION\n=====================\n\n* `CAS Protocol `\n* `CAS 1 Architecture `\n* `CAS 2 Architecture `\n* `Proxy Authentication `\n* `CAS \u2013 Central Authentication Service `\n* `Proxy CAS Walkthrough `\n\nPROVIDED VIEWS\n=============\n\nlogin\n---------\n\nIt has not required arguments.\n\nOptional arguments:\n\n* template_name - login form template name (default is 'cas/login.html')\n* success_redirect - redirect after successful login if service GET argument is not provided\n (default is settings.LOGIN_REDIRECT_URL)\n* warn_template_name - warning page template name to allow login user to service if he\n already authenticated in SSO (default is 'cas/warn.html')\n\nIf request.GET has 'warn' argument and user has already authenticated in SSO it shows\nwarning message instead of generate Service Ticket and redirect.\n\nlogout\n-----------\n\nThis destroys a client's single sign-on CAS session. The ticket-granting cookie is destroyed,\nand subsequent requests to login view will not obtain service tickets until the user again\npresents primary credentials (and thereby establishes a new single sign-on session).\n\nIt has not required arguments.\n\nOptional arguments:\n\n* template_name - template name for page with successful logout message (default is 'cas/logout.html')\n\nvalidate\n-------------\n\nIt checks the validity of a service ticket. It is part of the CAS 1.0 protocol and thus does\nnot handle proxy authentication.\n\nIt has not arguments.\n\nservice_validate\n-------------------------\n\nIt checks the validity of a service ticket and returns an XML-fragment response via CAS 2.0 protocol.\nWork with proxy is not supported yet.\n\nIt has not arguments.\n\n\nCUSTOM USER ATTRIBUTES FORMAT\n===========================\n\nCustom attribute format style may be changed in project settings with \nCAS_CUSTOM_ATTRIBUTES_FORMAT constant. You can provide your own formatter callback\nor specify existing in this package in `attribute_formatters` module.\n\nAttribute formatter callback takes two arguments:\n\n* `auth_success` - `cas:authenticationSuccess` node. It is `lxml.etree.SubElement`instance;\n* `attrs` - dictionary with user attributes received from callback specified in \n CAS_CUSTOM_ATTRIBUTES_CALLBACK in project settings. \n\nExample of generated XML below::\n \n \n \n jsmith\n\n \n\n PGTIOU-84678-8a9d2sfa23casd\n \n \n\n\n* Name-Value style (provided in `cas_provider.attribute_formatters.name_value`)::\n\n \n \n \n \n \n\n\n* Jasig Style attributes (provided in `cas_provider.attribute_formatters.jasig`)::\n\n \n Jasig\n Smith\n John\n CN=Staff,OU=Groups,DC=example,DC=edu\n CN=Spanish Department,OU=Departments,OU=Groups,DC=example,DC=edu\n \n\n\n* RubyCAS style (provided in `cas_provider.attribute_formatters.ruby_cas`)::\n\n RubyCAS\n Smith\n John\n CN=Staff,OU=Groups,DC=example,DC=edu\n CN=Spanish Department,OU=Departments,OU=Groups,DC=example,DC=edu", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/castlabs/django-cas-provider", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "django-cas-provider", "package_url": "https://pypi.org/project/django-cas-provider/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-cas-provider/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/castlabs/django-cas-provider" }, "release_url": "https://pypi.org/project/django-cas-provider/0.3.1/", "requires_dist": null, "requires_python": null, "summary": "A \"provider\" for the Central Authentication Service (http://jasig.org/cas)", "version": "0.3.1" }, "last_serial": 789246, "releases": { "0.3.0": [ { "comment_text": "", "digests": { "md5": "5d4054b0158194859f0adb11ae7eab60", "sha256": "20358d0e1e5490c2a552e8cfc4780c5f9ef2877a9d86410f4984bee702bcd457" }, "downloads": -1, "filename": "django-cas-provider-0.3.0.tar.gz", "has_sig": true, "md5_digest": "5d4054b0158194859f0adb11ae7eab60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17428, "upload_time": "2011-10-10T19:43:33", "url": "https://files.pythonhosted.org/packages/da/66/366f24b2cc3b47540c65b43e6832b9409c5acc99f2c3a18fb3c204a88216/django-cas-provider-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "027369301ebbd3d335748c0bdca923d3", "sha256": "e6a124ce1c9ae83675a34539808f29694a342eac8be26c22b06c1dcf032e1db8" }, "downloads": -1, "filename": "django-cas-provider-0.3.1.tar.gz", "has_sig": true, "md5_digest": "027369301ebbd3d335748c0bdca923d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18140, "upload_time": "2011-10-17T21:02:02", "url": "https://files.pythonhosted.org/packages/15/42/3e2faf55d2b1d3e1d351a9ce5c6a30280e53b8afc287f1f95ab19f5dea5f/django-cas-provider-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "027369301ebbd3d335748c0bdca923d3", "sha256": "e6a124ce1c9ae83675a34539808f29694a342eac8be26c22b06c1dcf032e1db8" }, "downloads": -1, "filename": "django-cas-provider-0.3.1.tar.gz", "has_sig": true, "md5_digest": "027369301ebbd3d335748c0bdca923d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18140, "upload_time": "2011-10-17T21:02:02", "url": "https://files.pythonhosted.org/packages/15/42/3e2faf55d2b1d3e1d351a9ce5c6a30280e53b8afc287f1f95ab19f5dea5f/django-cas-provider-0.3.1.tar.gz" } ] }