X-Git-Url: https://git.mdrn.pl/django-cas-provider.git/blobdiff_plain/4d08fe00954d5a4a3a5d963ff04d001be57f9007..4d4d94153a9cc19185b843502bfa76d990f1c426:/README.rst diff --git a/README.rst b/README.rst index bc2874d..0ef1742 100644 --- a/README.rst +++ b/README.rst @@ -2,10 +2,6 @@ django-cas-provider =================== ---------------------------------- -Chris Williams ---------------------------------- - OVERVIEW ========= @@ -26,7 +22,9 @@ To install, run the following command from this directory: ``python setup.py install`` Or, put cas_provider somewhere on your Python path. - + +If you want use CAS v.2 protocol or above, you must install `lxml` package to correct work. + USAGE ====== @@ -39,8 +37,16 @@ USAGE SETTINGS ========= -CAS_TICKET_EXPIRATION - minutes to tickets expiration (default is 5 minutes) -CAS_CHECK_SERVICE - check if ticket service is equal with service GET argument +CAS_TICKET_EXPIRATION - minutes to tickets expiration. Default is 5 minutes. + +CAS_CUSTOM_ATTRIBUTES_CALLBACK - name of callback to provide dictionary with +extended user attributes (may be used in CAS v.2 or above). Default is None. + +CAS_CUSTOM_ATTRIBUTES_FORMAT - name of custom attribute formatter callback will be +used to format custom user attributes. This package provide module `attribute_formatters` +with formatters for common used formats. Available formats styles are `RubyCAS`, `Jasig` +and `Name-Value. Default is Jasig style. See module source code for more details. + PROTOCOL DOCUMENTATION ===================== @@ -68,8 +74,8 @@ Optional arguments: * warn_template_name - warning page template name to allow login user to service if he already authenticated in SSO (default is 'cas/warn.html') -If request.GET has 'warn' argument - it shows warning message if user has already -authenticated in SSO instead of generate Service Ticket and redirect. +If request.GET has 'warn' argument and user has already authenticated in SSO it shows +warning message instead of generate Service Ticket and redirect. logout ----------- @@ -101,3 +107,57 @@ Work with proxy is not supported yet. It has not arguments. +CUSTOM USER ATTRIBUTES FORMAT +=========================== + +Custom attribute format style may be changed in project settings with +CAS_CUSTOM_ATTRIBUTES_FORMAT constant. You can provide your own formatter callback +or specify existing in this package in `attribute_formatters` module. + +Attribute formatter callback takes two arguments: + +* `auth_success` - `cas:authenticationSuccess` node. It is `lxml.etree.SubElement`instance; +* `attrs` - dictionary with user attributes received from callback specified in + CAS_CUSTOM_ATTRIBUTES_CALLBACK in project settings. + +Example of generated XML below: + + + + jsmith + + + + PGTIOU-84678-8a9d2sfa23casd + + + + +* Name-Value style (provided in `cas_provider.attribute_formatters.name_value`): + + + + + + + + +* Jasig Style attributes (provided in `cas_provider.attribute_formatters.jasig`): + + + Jasig + Smith + John + CN=Staff,OU=Groups,DC=example,DC=edu + CN=Spanish Department,OU=Departments,OU=Groups,DC=example,DC=edu + + + +* RubyCAS style (provided in `cas_provider.attribute_formatters.ruby_cas`): + + RubyCAS + Smith + John + CN=Staff,OU=Groups,DC=example,DC=edu + CN=Spanish Department,OU=Departments,OU=Groups,DC=example,DC=edu +