Recently I experimented a bit with OAuth 2.0 Server because I wanted to protect the API backend for the unKonf website using OAuth2 - mostly to see how easily I can integrate it with our Adroit middleware. While integrating OAuth2 Server and Adroit was fairly trivial, I was missing a Doctrine storage provider for OAuth 2.0 Server. Since I could not even find a package on packagist I thought about writing one myself. You can find the bitexpert/oauth2-server-storage-dbal package on Github. It can be installed it via Composer:
composer.phar require bitexpert/oauth2-server-storage-dbal
To use it create a \Doctrine\DBAL\Connection instance or grab the connection instance from \Doctrine\ORM\EntityManager and simply pass it to the different storage classes:
/** @var \Doctrine\ORM\EntityManager $entityManager */
$entityManager = ...
$connection = $entityManager->getConnection();
$server = new \League\OAuth2\Server\AuthorizationServer();
I have also included the required database schema in the scripts/setup.php file.