Updated examples to use new API

This commit is contained in:
Alex Bilbie 2016-01-17 14:23:42 +00:00
parent 3d08051cbb
commit 168e7640c6
2 changed files with 57 additions and 33 deletions

View File

@ -14,19 +14,33 @@ use Slim\Http\Response;
include(__DIR__ . '/../vendor/autoload.php'); include(__DIR__ . '/../vendor/autoload.php');
// Setup the authorization server // App
$server = new Server('file://' . __DIR__ . '/../private.key'); $app = new App([
Server::class => function () {
// Init our repositories // Init our repositories
$clientRepository = new ClientRepository(); $clientRepository = new ClientRepository();
$scopeRepository = new ScopeRepository(); $scopeRepository = new ScopeRepository();
$accessTokenRepository = new AccessTokenRepository(); $accessTokenRepository = new AccessTokenRepository();
// Enable the client credentials grant on the server $privateKeyPath = 'file://' . __DIR__ . '/../private.key';
$server->enableGrantType(new ClientCredentialsGrant($clientRepository, $scopeRepository, $accessTokenRepository)); $publicKeyPath = 'file://' . __DIR__ . '/../public.key';
// App // Setup the authorization server
$app = new App([Server::class => $server]); $server = new Server(
$clientRepository,
$accessTokenRepository,
$scopeRepository,
$privateKeyPath,
$publicKeyPath
);
// Enable the client credentials grant on the server with a token TTL of 1 hour
$server->enableGrantType(new ClientCredentialsGrant(), new \DateInterval('PT1H'));
return $server;
}
]);
$app->post('/access_token', function (Request $request, Response $response) { $app->post('/access_token', function (Request $request, Response $response) {
/** @var Server $server */ /** @var Server $server */

View File

@ -16,28 +16,38 @@ use Slim\Http\Response;
include(__DIR__ . '/../vendor/autoload.php'); include(__DIR__ . '/../vendor/autoload.php');
// Setup the authorization server // App
$server = new Server('file://' . __DIR__ . '/../private.key'); $app = new App([
Server::class => function () {
// Init our repositories // Init our repositories
$userRepository = new UserRepository();
$clientRepository = new ClientRepository(); $clientRepository = new ClientRepository();
$scopeRepository = new ScopeRepository(); $scopeRepository = new ScopeRepository();
$accessTokenRepository = new AccessTokenRepository(); $accessTokenRepository = new AccessTokenRepository();
$userRepository = new UserRepository();
$refreshTokenRepository = new RefreshTokenRepository(); $refreshTokenRepository = new RefreshTokenRepository();
// Enable the client credentials grant on the server $privateKeyPath = 'file://' . __DIR__ . '/../private.key';
$passwordGrant = new PasswordGrant( $publicKeyPath = 'file://' . __DIR__ . '/../public.key';
$userRepository,
$clientRepository,
$scopeRepository,
$accessTokenRepository,
$refreshTokenRepository
);
$server->enableGrantType($passwordGrant);
// App // Setup the authorization server
$app = new App([Server::class => $server]); $server = new Server(
$clientRepository,
$accessTokenRepository,
$scopeRepository,
$privateKeyPath,
$publicKeyPath
);
// Enable the client credentials grant on the server with a token TTL of 1 hour
$server->enableGrantType(
new PasswordGrant($userRepository, $refreshTokenRepository),
new \DateInterval('PT1H')
);
return $server;
}
]);
$app->post('/access_token', function (Request $request, Response $response) { $app->post('/access_token', function (Request $request, Response $response) {
/** @var Server $server */ /** @var Server $server */