mach / silex-x509
X.509 Authentication Provider for Silex
2.0.1
2015-08-22 00:48 UTC
Requires
- silex/silex: ~2.0@dev
- symfony/security: ~2.7
Requires (Dev)
- symfony/browser-kit: ~2.7
This package is not auto-updated.
Last update: 2024-12-21 15:13:52 UTC
README
The X509AuthenticationProvider provides a X.509 Authentication Listener and bootstraps it so you can easily implement X.509 Certificate authentication in your Silex application.
Parameters
- silex.x509.client_key: (optional) Header key with Client ID (default: SSL_CLIENT_S_DN)
- silex.x509.credentials_key: (optional) Header key with Credentials (default: SSL_CLIENT_S_DN_Email)
Registering
use Silex\Application;
use Silex\Provider\SecurityServiceProvider;
use Mach\Silex\X509\Provider\X509AuthenticationProvider;
$app = new Application();
$app->register(new SecurityServiceProvider(), [...]);
$app->register(new X509AuthenticationProvider());
Example firewall configuration
$app->register(new SecurityServiceProvider(), array(
'security.firewalls' => array(
'x509_cert' => array(
'pattern' => '^.*$',
'x509' => true,
'users' => array(
'dennis@example.com' => array('ROLE_USER', null),
'admin@example.com' => array('ROLE_ADMIN', null),
),
),
),
'security.access_rules' => array(
array('^/admin', 'ROLE_ADMIN'),
),
'security.role_hierarchy' => array(
'ROLE_ADMIN' => array('ROLE_USER'),
),
));