for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Krtv\Bundle\SingleSignOnServiceProviderBundle\DependencyInjection;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
/**
* Class Configuration
* @package Krtv\Bundle\SingleSignOnServiceProviderBundle\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_service_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')
->arrayNode('otp_manager')
->addDefaultsIfNotSet()
->info('Configuration for OTP managers')
->scalarNode('name')
->defaultValue('orm')
->arrayNode('managers')
->arrayNode('orm')
->info('ORM OTP configuration')
->arrayNode('http')
->info('HTTP OTP configuration')
->scalarNode('provider')
->info('Active provider for HTTP OTP manager')
->defaultValue('guzzle')
->arrayNode('providers')
->info('Available HTTP providers')
->arrayNode('guzzle')
->scalarNode('client')
->info('Guzzle client service id')
->scalarNode('resource')
->info('Url for fetch/invalidate OTPs')
->arrayNode('service')
->scalarNode('id')
->info('Service id')
->scalarNode('otp_parameter')
->defaultValue('_otp')
->scalarNode('secret_parameter')
->defaultValue('secret')
;
return $builder;
}