2017 © Pedro Peláez
 

library pcas

pCas, a PHP CAS library

image

openeuropa/pcas

pCas, a PHP CAS library

  • Friday, July 13, 2018
  • by drupol
  • Repository
  • 8 Watchers
  • 0 Stars
  • 332 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 2 Forks
  • 2 Open issues
  • 6 Versions
  • 427 % Grown

The README.md

pCAS library

Build Status Packagist, (*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

The Versions