Diogo Cordeiro aee5506f00 [PLUGINS] Removed GeoURL as the service doesn't exist anymore 5 years ago
..
actions 1e1543dd72 Test if $casSettings['user_whitelist'] is an array - and then perform in_array(...) instead of just checking if it's != null. 7 years ago
locale aee5506f00 [PLUGINS] Removed GeoURL as the service doesn't exist anymore 5 years ago
CasAuthenticationPlugin.php 0c2c3ec862 [CORE] Plugin API now extends a new Module API 5 years ago
README 6ca5bb4d41 Added CAS user whitelist feature 7 years ago

README

The CAS Authentication plugin allows for StatusNet to handle authentication
through CAS (Central Authentication Service).

Installation
============
add "addPlugin('casAuthentication',
array('setting'=>'value', 'setting2'=>'value2', ...);"
to the bottom of your config.php

Settings
========
provider_name*: a unique name for this authentication provider.
authoritative (false): Set to true if CAS's responses are authoritative
(if authorative and CAS fails, no other password checking will be done).
autoregistration (false): Set to true if users should be automatically created
when they attempt to login.
email_changeable (true): Are users allowed to change their email address?
(true or false)
password_changeable*: must be set to false. This plugin does not support changing passwords.

server*: CAS server to authentication against
port (443): Port the CAS server listens on. Almost always 443
path (): Path on the server to CAS. Usually blank.
takeOverLogin (false): Take over the main login action. If takeOverLogin is
set, anytime the standard username/password login form would be shown,
a CAS login will be done instead.
user_whitelist (null): Only allow login via CAS for users listed in this
array. This is useful when both CAS and password authentication is enabled
and there is a mismatch between some GNU social account names and CAS user
names. This prevents CAS users from logging in as someone else on GNU
social. When set to null, no CAS logins are filtered by this feature.

* required
default values are in (parenthesis)

Example
=======
addPlugin('casAuthentication', array(
'provider_name'=>'Example',
'authoritative'=>true,
'autoregistration'=>true,
'server'=>'sso-cas.univ-rennes1.fr',
'port'=>443,
'path'=>'',
'takeOverLogin'=>true
));