Skip to content

API-Skeletons/oauth2-doctrine-identity

Repository files navigation

OAuth2 Doctrine Identity

Build Status Gitter Patreon Total Downloads

Versions

1.x for PHP 5.5 to 7.0. 2.x for PHP 7.1 onward.

About

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.

Authorization

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

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',
),