for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Krtv\Bundle\SingleSignOnIdentityProviderBundle\DependencyInjection;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
/**
* Class Configuration
* @package Krtv\Bundle\SingleSignOnIdentityProviderBundle\DependencyInjection
*/
class Configuration implements ConfigurationInterface
{
* Generates the configuration tree builder.
*
* @return \Symfony\Component\Config\Definition\Builder\TreeBuilder The tree builder
public function getConfigTreeBuilder()
$builder = new TreeBuilder();
$builder->root('krtv_single_sign_on_identity_provider')
->children()
->scalarNode('host')
->isRequired()
->validate()
->ifTrue(function($v) {
return preg_match('/^http(s?):\/\//', $v);
})
->thenInvalid('SSO host must only contain the host, and not the url scheme, eg: idp.domain.com')
->end()
->scalarNode('host_scheme')
->defaultValue('http')
->scalarNode('login_path')
->scalarNode('logout_path')
->arrayNode('services')
->info('Array of enabled ServiceProviders (SPs)')
->prototype('scalar')
->scalarNode('otp_parameter')
->defaultValue('_otp')
->scalarNode('secret_parameter')
->defaultValue('secret')
->scalarNode('target_path_parameter')
->defaultValue('_target_path')
->scalarNode('service_parameter')
->defaultValue('service')
->scalarNode('service_extra_parameter')
->defaultValue('service_extra')
;
return $builder;
}