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-identity
This will be added to your application's list of modules:
'modules' => array(
...
'ApiSkeletons\OAuth2\Doctrine\Identity',
),