0.2.2 BSD License    
  not rated
CAS plugin for repoze.who by Makina Corpus





repoze.who.plugins.cas is a plugin for the repoze.who framework enabling straightforward "cassification" (i.e.: makings each of your applications part of the SSO mechanism) of all applications that can be deployed through Python Paste.

repoze.who.plugins.cas currently supports CAS 3.0, although it may be used with others versions of CAS (yet, no compatibility is ensured as it has only been tested with CAS 3.0).

Applications which can be used :

- App complying with the simple_authentication WSGI specification, which take advantage of the REMOTE_USER key in the WSGI environment.
- App which can handle themselves the CAS mechanism (e.g.: phpBB with the CAS patch, - use wphp as a paste filter for integration of PHP with python - )



You must also have enabled the logout which basically is adding in the LogoutController bean in the cas-servlet.xml.

Your apps

Nothing is required for your apps, just set them up and fill out the config file as seen in the demo/ directory.

The configuration is pretty straightforward, you should take example on the config files demo provided with the egg.

Here is what you can find in it, for the who.ini file:

# @param :
# - cas_url : URL to your CAS server. Ensure your URL has a trailing slash.
# - rememberer_name : name of the plugin for remembering (delegate)
# - path_toskip : regex for url handling their own way the CAS authent
# - path_logout : regex to see if a logout has to be performed (and trigger forget via challenge)
# WARNING : must include the path of logout even for path_toskip application
# to properly logging out from the CAS also
use = repoze.who.plugins.cas.main_plugin:make_plugin
cas_url= https://servcas:8443/cas/
rememberer_name = auth_tkt
path_toskip = .*/phpbb/.*
path_logout = .*/logout.*

# @param:
# - path_login : those regexp indicate which url should be redirected for a challenge
# e.g. : for CAS, will be redirected on a "/cas/login" like url
use = repoze.who.plugins.cas.challenge_decider:make_plugin
path_login =

# identification
use = repoze.who.plugins.auth_tkt:make_plugin
secret = secret
cookie_name = oatmeal
secure = False
include_ip = False

request_classifier = repoze.who.classifiers:default_request_classifier
remote_user_key = REMOTE_USER
# trick : target the plugin whose name is the same
challenge_decider = decider

# plugin_name;classifier_name:.. or just plugin_name (good for any)
plugins =

# plugin_name;classifier_name.. or just plugin_name (good for any)
plugins =

# plugin_name;classifier_name:.. or just plugin_name (good for any)
plugins =
Last updated on January 15th, 2012

0 User reviews so far.