surfnet / stepup-gssp-bundle
A Symfony 6 bundle to aid the creation of GSSP (Generic SAML Step-up Provider) device support.
Installs: 3 281
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 11
Forks: 0
Open Issues: 1
Type:symfony-bundle
Requires
- php: ^8.2
- ext-openssl: *
- beberlei/assert: ^3
- surfnet/stepup-saml-bundle: ^6.0
- symfony/dependency-injection: ^6.4
- symfony/framework-bundle: ^6.4
- symfony/monolog-bundle: ^3.8
Requires (Dev)
- behat/behat: ^3.13
- jakub-onderka/php-parallel-lint: ^1
- malukenho/docheader: ^0
- mockery/mockery: ^1.5
- overtrue/phplint: *
- phpmd/phpmd: ^2.13
- phpstan/phpstan: ^1.10
- phpstan/phpstan-symfony: ^1.3
- phpunit/phpcov: ^8.2
- phpunit/phpunit: ^9.6
- sebastian/phpcpd: ^6.0
- slevomat/coding-standard: ^8.13
- squizlabs/php_codesniffer: ^3.7.1
- symfony/phpunit-bridge: ^6.4
- dev-main
- 5.1.0
- 5.0.12
- 5.0.11
- 5.0.10
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-alpha.4
- 3.0.0-alpha.3
- 3.0.0-alpha.2
- 3.0.0-alpha.1
- 2.1.0
- 2.0.0
- 1.2.0
- 1.1.0
- 1.0.2
- 1.0.1
- 1.0.0
- dev-feature/stan
- dev-feature/remove-homestead
- dev-release/4.0
- dev-release/3.0
This package is auto-updated.
Last update: 2024-10-24 14:53:45 UTC
README
Generic SAML Stepup Provider bundle.
Installation
- Add the package to your Composer file
composer require surfnet/stepup-gssp-bundle
- Add the bundle to your kernel in
app/AppKernel.php
public function registerBundles() { // ... $bundles[] = new Surfnet\SamlBundle\SurfnetSamlBundle(); $bundles[] = new Surfnet\GsspBundle\GsspBundle(); }
Configuration
config.yml
surfnet_saml: hosted: identity_provider: enabled: true service_provider_repository: surfnet_gssp.saml.service_provider_repository sso_route: sso public_key: "%saml_idp_publickey%" private_key: "%saml_idp_privatekey%" metadata: entity_id_route: gssp_saml_metadata public_key: "%saml_metadata_publickey%" private_key: "%saml_metadata_privatekey%" remote: identity_provider: enabled: true entity_id: "%saml_remote_idp_entity_id%" sso_url: "%saml_remote_idp_sso_url%" certificate_file: "%saml_remote_idp_certificate%" surfnet_gssp: registration_route: '<your-registration-route>' authentication_route: '<your-authentication-route>'
See Saml bundle documentation for more information about the 'surfnet_saml' configuration above.
See the controller for working examples of the 'surfnet_gssp' routes in Example controller
The AuthenticationService and the RegistrationService is the API for the application to interact with this bundle. Both services document an example how to use them in a controller action.
routing.yml
gssp_saml: resource: '@SurfnetGsspBundle/Resources/config/routing.yml'
parameters.yml
parameters: saml_idp_publickey: '%kernel.root_dir%/../vendor/surfnet/stepup-saml-bundle/src/Resources/keys/development_publickey.cer' saml_idp_privatekey: '%kernel.root_dir%/../vendor/surfnet/stepup-saml-bundle/src/Resources/keys/development_privatekey.pem' saml_metadata_publickey: '%kernel.root_dir%/../vendor/surfnet/stepup-saml-bundle/src/Resources/keys/development_publickey.cer' saml_metadata_privatekey: '%kernel.root_dir%/../vendor/surfnet/stepup-saml-bundle/src/Resources/keys/development_privatekey.pem' saml_remote_idp_entity_id: 'https://pieter.aai.surfnet.nl/simplesamlphp/saml2/idp/metadata.php' saml_remote_idp_sso_url: 'https://pieter.aai.surfnet.nl/simplesamlphp/saml2/idp/SSOService.php' saml_remote_idp_certificate: '%kernel.root_dir%/../vendor/surfnet/stepup-gssp-bundle/src/Resources/keys/pieter.aai.surfnet.nl.pem'
This is example idp configuration that works with pieter.aai.surfnet.nl idp.
Development environment
The purpose of the development environment is only for running the different test and metric tools.
To get started, first setup the development environment. The development environment is a docker container. That is controlled via the OpenConext-devconf project.
Every task described below should be run from that container.
Requirements
- Docker
- OpenConext-devconf
Debugging
Xdebug is configured when provisioning your development Vagrant box.
It's configured with auto connect IDE_KEY=phpstorm and xon
on cli env.
Tests en metrics
To run all required test you can run the following command from the dev env:
composer test
Every part can be run separately. Check "scripts" section of the composer.json file for the different options.
Release instructions
Please read: https://github.com/OpenConext/Stepup-Deploy/wiki/Release-Management for more information on the release strategy used in Stepup projects.