SimpleSAMLphp-casserver
, (*1)
SimpleSAMLphp-casserver is a CAS 1.0 and 2.0 compliant CAS server in the form
of a SimpleSAMLphp module., (*2)
Install
Install with composer, (*3)
composer require simplesamlphp/simplesamlphp-module-casserver
Configuration
Next thing you need to do is to enable the module: in config.php
,
search for the module.enable
key and set casserver
to true:, (*4)
'module.enable' => [
'casserver' => true,
…
],
See the config-templates
folder for examples of configuring this module, (*5)
Debug
To aid in debugging you can print out the CAS ticket xml rather then returning
a ticket id. Enable debugMode
in module_casserver.php
and then add a query
parameter debugMode=true
to the CAS login url., (*6)
Logging in to
https://cas.example.com/cas/login?debugMode=true&service=http://localhost/
would now print the xml for that service., (*7)
<?xml version="1.0">
<cas:serviceResponse xmlns:cas="http://www.yale.edu/tp/cas">
<cas:authenticationSuccess>
<cas:user>testuser@example.com</cas:user>
<cas:attributes>
<cas:eduPersonPrincipalName>testuser@example.com</cas:eduPersonPrincipalName>
<cas:base64Attributes>false</cas:base64Attributes>
</cas:attributes>
</cas:authenticationSuccess>
</cas:serviceResponse>
Development
Run phpcs
to check code style, (*8)
phpcs --standard=PSR12 lib/ tests/ www/ templates/
Run phpunit
to test, (*9)
./vendor/bin/phpunit
Use docker php image to easily test between versions, (*10)
docker run -ti --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp php:7.1-cli ./vendor/bin/phpunit
You can auto correct some findings from phpcs. It is recommended you do this
after stage your changes (or maybe even commit) since there is a non-trivial
chance it will just mess up your code., (*11)
phpcbf --ignore=somefile.php --standard=PSR12 lib/ tests/ www/ templates/
History
CAS 1.0 and 2.0 compliant CAS server module for simpleSAMLphp, (*12)
This is the simpleSAMLphp CAS server module developed at the State and
University Library in Aarhus Denmark. The module is a fork of an old version
of the CAS module shipped with simpleSAMLphp which has undergone a couple of
iterations of refactoring, bugfixes and enhancements.
For details see the ChangeLog in the doc directory., (*13)
All files are rewritten based on work by Dubravko Voncina.
See Google Groups discussion in [this thread][1]., (*14)
License
This work is licensed under a Creative Commons GNU Lesser General Public
License License., (*15)