1.x for PHP 5.5 to 7.0. 2.x for PHP 7.1 onward.
By default laminas-api-tools/api-tools-mvc-auth returns an Laminas\ApiTools\MvcAuth\Identity\AuthenticatedIdentity when authenticated with a valid access token. This repository replaces that identity with a ApiSkeletons\OAuth2\Doctrine\Identity\AuthenticatedIdentity.
ApiSkeletons\OAuth2\Doctrine\Identity\AuthenticatedIdentity stores the api-skeletons/oauth2-doctrine AccessToken Doctrine entity. The AuthentiatedIdentity has the functions getUser(), getAccessToken(), getClient() which return entities. With these your application can continue to work with ORM through the rest of the request lifecycle.
api-skeletons/oauth2-doctrine supports multiple OAuth2 configurations and api-skeletons/oauth2-doctrine-identity searches through each configuration to find the AccessToken entity based on the access_token and client_id supplied by Laminas\ApiTools\MvcAuth\Identity\AuthenticatedIdentity.
The api-tools-mvc-auth Authorization Service is injected into the AuthenticatedIdentity. You may fetch the Authorization Service with $identity->getAuthorizationService(). There is a convenience method for ACL $identity->isAuthorized($resource, $privilege).
Installation of this module uses composer. For composer documentation, please refer to getcomposer.org.
composer require api-skeletons/oauth2-doctrine-identityThis will be added to your application's list of modules:
'modules' => array(
...
'ApiSkeletons\OAuth2\Doctrine\Identity',
),