php-slim-server.abstract_authenticator.mustache Maven / Gradle / Ivy
container = $container;
$this->requiredScope = $requiredScope;
}
/**
* Makes the api key validation of your application
*
* Just an example of implementation. Override this method to fit your needs
*
* @param ServerRequestInterface $request HTTP request
* @param TokenSearch $tokenSearch Middleware instance which contains api key in token
*
* @return bool Must return either true or false
* @throws UnauthorizedExceptionInterface when cannot parse token
*/
public function __invoke(ServerRequestInterface &$request, TokenSearch $tokenSearch)
{
/**
* Try find authorization token via header, parameters, cookie or attribute
* If token not found, return response with status 401 (unauthorized)
*/
$token = $tokenSearch->getToken($request);
/**
* Verify if token is valid on database
* If token isn't valid, expired or has insufficient scope must throw an UnauthorizedExceptionInterface
*/
$user = $this->getUserByToken($token);
/**
* Set authenticated user at attributes
*/
$request = $request->withAttribute('authenticated_user', $user);
return true;
}
}
{{/apiInfo}}