pCAS library
, (*1)
pCAS, a CAS library for PHP., (*2)
Installation
composer require openeuropa/pcas
Usage
In order to use the pCAS library you need a session object that implements
Symfony's SessionInterface
., (*3)
You can pass that object to the pCAS factory class as shown below:, (*4)
<?php
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:, (*5)
<?php
$pcas = $factory->getPCas();
The pCAS factory object also accepts the following configuration parameters:, (*6)
Parameter |
Description |
base_url |
The CAS service base URL. It defaults to http://127.0.0.1:8000
|
protocol |
The CAS protocol specification. It defaults to this list
|
You can set those parameters as shown below:, (*7)
<?php
use OpenEuropa\pcas\PCasFactory;
use Symfony\Component\HttpFoundation\Session\Session;
$factory = new PCasFactory(
new Session(),
'http://my-cas-server.com', // 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., (*8)
Demo
Requirements:, (*9)
Copy docker-compose.yml.dist into docker-compose.yml., (*10)
You can make any alterations you need for your local Docker setup. However, the defaults should be enough to set the project up., (*11)
The pCAS library is bundled with two independent Symfony app:, (*12)
- 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:, (*13)
cd demo-server
composer install
php bin/console server:run 127.0.0.1:8001
Then run the web app:, (*14)
cd demo-client
composer install
php bin/console server:run 127.0.0.1:8000
Then go on http://127.0.0.1:8000., (*15)
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
., (*16)
The file must contains:, (*17)
APP_ENV=ec
Run the tests
composer install
./vendor/bin/grumphp run
Changelog
The changelog is generated using a local docker installation which installs
muccg/docker-github-changelog-generator, (*18)
This reads the Github API for the required repository and writes
the CHANGELOG.md to the root of the repository., (*19)
Prerequisites, (*20)
- 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:, (*21)
$ export CHANGELOG_GITHUB_TOKEN=<YOUR TOKEN HERE>
$ export CHANGELOG_FUTURE_RELEASE=0.1.0
The changelog can then be generated by running:, (*22)
$ composer run-script changelog