1. Go to this page and download the library: Download remotelyliving/doorkeeper 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/ */
remotelyliving / doorkeeper example snippets
// Requestors are the actor requesting access to a new feature
// They have several forms of identity you can initialize them
$requestor = ( new Requestor() )
->withUserId($user->getId())
->withRequest($request)
->withIpAddress('127.0.0.1')
->withEnvironment('STAGE')
->withStringHash('someArbitraryThingMaybeFromTheQueryString');
// A Feature Set has Features that have Rules
$featureSet = $reatureSetRepository->getSet();
// Doorkeper takes in a Feature Set and an audit log if you want to log access results
$doorkeeper = new Doorkeeper($featureSet, $logger);
// Set an app instance bound requestor here or pass one to Doorkeeper::grantsAccessToRequestor('feature', $requestor) later
$doorkeeper->setRequestor($requestor);
if ($doorkeeper->grantsAccessTo('some.new.feature')) {
return $this->doNewFeatureStuff();
}
// If you want to bypass the instance Requestor that was set and create another use Doorkeeper::grantsAccessToRequestor()
// This is useful for more stateful applications
$otherRequestor = (new Requestor()))->withUserId(123);
if ($doorkeeper->grantsAccessToRequestor('some.new.feature', $otherRequestor)) {
return $this->doNewFeatureStuff();
}
// create a time range
$timeBeforeRule->addPrerequisite($timeAfterRule);
// create a user id rule only for prod
$userIdRule->addPrerequisite($prodEnvironmentRule);
// add another prereq
$userIdRule->addPrerequisite($ipAddressRule);
// etc.