Download the PHP package kuleuven/shibboleth-bundle without Composer
On this page you can find all versions of the php package kuleuven/shibboleth-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download kuleuven/shibboleth-bundle
More information about kuleuven/shibboleth-bundle
Files in kuleuven/shibboleth-bundle
Package shibboleth-bundle
Short Description Symfony2 authentication provider for Shibboleth
License LGPL-3.0+
Informations about the package shibboleth-bundle
ShibbolethBundle
This bundle adds a shibboleth authentication provider for your Symfony2 project.
Requirements
- PHP 5.3.3 and up.
- [Symfony 2.2+][http://symfony.com]
Installation
ShibbolethBundle is composer-friendly.
1. Add ShibbolethBundle in your composer.json
Now tell composer to download the bundle by running the command:
Composer will install the bundle to your project's vendor/kuleuven directory..
2. Enable the bundle
Instantiate the bundle in your kernel:
Configuration
1. Enable lazy shibboleth autentication in Apache
Add following lines to the .htaccess file in your projects web folder
2. Setup authentication firewall
3. Shibboleth configuration
Possible configuration parameters are:
The above listed configuration values are the default values. To use the defaults, simply use the following line in your config:
Available Shibboleth attributes
By default, the bundle exposes several Shibboleth attributes through the user token, ShibbolethUserToken. The token provides specific accessors for most of the attributes, as well as the generic accessors getAttribute
, getArrayAttribute
and hasAttributeValue
. Each attribute is internally identified by an alias, which serves as argument to the aforementioned methods. The following table lists the Shibboleth attributes available (when provided) through the user token:
Attribute | Alias |
---|---|
Shib-Person-uid | uid |
Shib-Person-commonName | cn |
Shib-Person-surname | sn |
Shib-Person-givenName | givenName |
Shib-Person-mail | |
Shib-Person-ou | ou |
Shib-Person-telephoneNumber | telephoneNumber |
Shib-Person-facsimileTelephoneNumber | facsimileTelephoneNumber |
Shib-Person-mobile | mobile |
Shib-Person-postalAddress | postalAddress |
Shib-EP-UnscopedAffiliation | affiliation |
Shib-EP-Scopedaffiliation | scopedAffiliation |
Shib-EP-OrgunitDN | orgUnitDN |
Shib-EP-OrgDN | orgDN |
Shib-logoutURL | logoutURL |
Shib-Identity-Provider | identityProvider |
Shib-Origin-Site | originSite |
Shib-Authentication-Instant | authenticationInstant |
Shib-KUL-employeeType | employeeType |
Shib-KUL-studentType | studentType |
Shib-KUL-primouNumber | primouNumber |
Shib-KUL-ouNumber | ouNumber |
Shib-KUL-dipl | dipl |
Shib-KUL-opl | opl |
Shib-KUL-campus | campus |
Shib-logoutURL | logoutURL |
If for some reason you want to pass additional attributes (for example custom attributes) or overwrite existing, you can configure them this way:
The key containing the configuration of each attribute will be its alias. That means the value(s) of the shib-acme-foo
and shib-acme-bar
attributes can be retrieved with:
User Provider
This bundle doesn't include any User Provider, but you can implement your own.
If you store users in a database, they can be created on the fly when a users logs on for the first time on your application. Your UserProvider needs to implement the KULeuven\ShibbolethBundle\Security\ShibbolethUserProviderInterface
interface.
Example
This example uses Propel ORM to store users.