PHP code example of phantomwatson / cakephp-simple-saml
1. Go to this page and download the library: Download phantomwatson/cakephp-simple-saml 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/ */
phantomwatson / cakephp-simple-saml example snippets
/**
* Returns the authorization service
*
* @param \Psr\Http\Message\ServerRequestInterface $request Server request
* @return \Authorization\AuthorizationServiceInterface
*/
public function getAuthorizationService(ServerRequestInterface $request): AuthorizationServiceInterface
{
$mapResolver = new MapResolver();
$mapResolver->map(ServerRequest::class, YourPolicyClass::class);
return new AuthorizationService($mapResolver);
}
/**
* Returns a service provider instance.
*
* @param \Psr\Http\Message\ServerRequestInterface $request Request
* @return \Authentication\AuthenticationServiceInterface
*/
public function getAuthenticationService(ServerRequestInterface $request): AuthenticationServiceInterface
{
$service = new AuthenticationService();
$loginUrl = '/login';
// Define where users should be redirected to when they are not authenticated
$service->setConfig([
'unauthenticatedRedirect' => $loginUrl,
'queryParam' => 'redirect',
]);
$service->loadAuthenticator('Authentication.Session');
$service->loadAuthenticator('SimpleSaml.SimpleSaml');
// Load identifiers
$service->loadIdentifier('Authentication.Token', [
// The field in the database to check against
'tokenField' => '',
// The field in the passed data from the authenticator
'dataField' => '',
/* The OrmResolver will search the Users table for a record with a tokenField with the same value as
* dataField */
'resolver' => [
'className' => OrmResolver::class,
'userModel' => 'Users',
'finder' => 'all',
]
]);
return $service;
}