This package is abandoned and no longer maintained. The author suggests using the drupol/psrcas package instead.

pCas, a PHP CAS library

0.2.2 2018-09-27 13:02 UTC

This package is auto-updated.

Last update: 2022-02-01 13:13:09 UTC


Build Status Packagist

pCAS, a CAS library for PHP.


composer require openeuropa/pcas


In order to use the pCAS library you need a session object that implements Symfony's SessionInterface.

You can pass that object to the pCAS factory class as shown below:


use OpenEuropa\pcas\PCasFactory;
use Symfony\Component\HttpFoundation\Session\Session;

$factory = new PCasFactory(new Session());

You can access a fully functional pCAS library as shown below:


$pcas = $factory->getPCas();

The pCAS factory object also accepts the following configuration parameters:

Parameter Description
base_url The CAS service base URL. It defaults to
protocol The CAS protocol specification. It defaults to this list

You can set those parameters as shown below:


use OpenEuropa\pcas\PCasFactory;
use Symfony\Component\HttpFoundation\Session\Session;

$factory = new PCasFactory(
    new Session(), 
    '', // This is your custom base_url parameter.
    [...] // This is your custom protocol parameter.
$pcas = $factory->getPCas();

Both parameters are optional, although you'll surely want to set base_url to a different value.



Copy docker-compose.yml.dist into docker-compose.yml.

You can make any alterations you need for your local Docker setup. However, the defaults should be enough to set the project up.

The pCAS library is bundled with two independent Symfony app:

  • demo-client: A basic web app that can authenticate to a CAS server to access specific pages.
  • demo-server: A basic CAS server.

In order to test pCAS library, you must run the server:

cd demo-server
composer install
php bin/console server:run

Then run the web app:

cd demo-client
composer install
php bin/console server:run

Then go on

You can also test it against ECAS, the authentication service from European Commission by updating the file .env in demo-client directory. If this file doesn't exists, you can create it from .env.dist.

The file must contains:


Run the tests

composer install
./vendor/bin/grumphp run


The changelog is generated using a local docker installation which installs muccg/docker-github-changelog-generator

This reads the Github API for the required repository and writes the to the root of the repository.


  • Local Docker machine running.
  • A Github Access Token should be generated and exported (or written to ~/.gitconfig) as CHANGELOG_GITHUB_TOKEN=<YOUR TOKEN HERE>

Before tagging a new release export the following:


The changelog can then be generated by running:

$ composer run-script changelog