1. Go to this page and download the library: Download alcalyn/silex-wsse library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
alcalyn / silex-wsse example snippets
php
// Register Silex security
$app->register(new Silex\Provider\SecurityServiceProvider(), array(
'security.firewalls' => array(
'api' => array(
'pattern' => '^/api',
'wsse' => true,
'stateless' => true,
'users' => $myUserProvider,
),
),
));
// SilexWsse needs a token validator service with a path where to store Wsse tokens
$app['security.wsse.token_validator'] = function () {
$wsseCacheDir = 'var/cache/wsse-tokens';
return new PasswordDigestValidator($wsseCacheDir);
};
// Register Wsse provider
$app->register(new WsseServiceProvider('api'));
php
$app->get('api/auth', function () use ($app) {
$authenticatedUser = $app['user'];
return 'Hello '.$app->escape($authenticatedUser->getUsername());
});
php
use Symfony\Component\Security\Core\User\InMemoryUserProvider;
use Symfony\Component\Security\Core\Encoder\PlaintextPasswordEncoder;
use Alcalyn\Wsse\Security\Authentication\Provider\PasswordDigestValidator;
use Alcalyn\SilexWsse\Provider\WsseServiceProvider;
$app = new Silex\Application();
$myUserProvider = function () {
return new InMemoryUserProvider(array(
'toto' => ['password' => 'pass'],
));
};
$app['security.default_encoder'] = function () {
return new PlaintextPasswordEncoder();
};
// Register Silex security
$app->register(new Silex\Provider\SecurityServiceProvider(), array(
'security.firewalls' => array(
'api' => array(
'pattern' => '^/api',
'wsse' => true,
'stateless' => true,
'users' => $myUserProvider,
),
),
));
// SilexWsse needs a token validator service with a path where to store Wsse tokens
$app['security.wsse.token_validator'] = function () {
$wsseCacheDir = 'var/cache/wsse-tokens';
return new PasswordDigestValidator($wsseCacheDir);
};
// Register Wsse provider
$app->register(new WsseServiceProvider('api'));
$app->get('api/auth', function () use ($app) {
$authenticatedUser = $app['user'];
return 'Hello '.$app->escape($authenticatedUser->getUsername());
});
$app->run();
php
use Symfony\Component\Security\Core\Event\AuthenticationFailureEvent;
$app->on('security.authentication.failure', function(AuthenticationFailureEvent $event) {
echo $event->getAuthenticationException()->getMessage();
});
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.