public function getAccessTokenRepository()
 {
     $server = m::mock('League\\OAuth2\\Server\\AbstractServer');
     $repo = new FluentAccessToken($this->app['db']);
     $repo->setServer($server);
     return $repo;
 }
 /**
  * Bind the storage implementations to the IoC container.
  *
  * @return void
  */
 public function registerStorageBindings()
 {
     $provider = $this;
     $this->app->singleton(FluentAccessToken::class, function () use($provider) {
         $storage = new FluentAccessToken($provider->app['db']);
         $storage->setConnectionName($provider->getConnectionName());
         return $storage;
     });
     $this->app->singleton(FluentAuthCode::class, function () use($provider) {
         $storage = new FluentAuthCode($provider->app['db']);
         $storage->setConnectionName($provider->getConnectionName());
         return $storage;
     });
     $this->app->singleton(FluentClient::class, function ($app) use($provider) {
         $limitClientsToGrants = $app['config']->get('oauth2.limit_clients_to_grants');
         $storage = new FluentClient($provider->app['db'], $limitClientsToGrants);
         $storage->setConnectionName($provider->getConnectionName());
         return $storage;
     });
     $this->app->singleton(FluentRefreshToken::class, function () use($provider) {
         $storage = new FluentRefreshToken($provider->app['db']);
         $storage->setConnectionName($provider->getConnectionName());
         return $storage;
     });
     $this->app->singleton(FluentScope::class, function ($app) use($provider) {
         $limitClientsToScopes = $app['config']->get('oauth2.limit_clients_to_scopes');
         $limitScopesToGrants = $app['config']->get('oauth2.limit_scopes_to_grants');
         $storage = new FluentScope($provider->app['db'], $limitClientsToScopes, $limitScopesToGrants);
         $storage->setConnectionName($provider->getConnectionName());
         return $storage;
     });
     $this->app->singleton(FluentSession::class, function () use($provider) {
         $storage = new FluentSession($provider->app['db']);
         $storage->setConnectionName($provider->getConnectionName());
         return $storage;
     });
 }
 /**
  * Bind the storage implementations to the IoC container
  * @return void
  */
 public function registerStorageBindings()
 {
     $provider = $this;
     $this->app->bindShared('LucaDegasperi\\OAuth2Server\\Storage\\FluentAccessToken', function () use($provider) {
         $storage = new FluentAccessToken($provider->app['db']);
         $storage->setConnectionName($provider->getConnectionName());
         return $storage;
     });
     $this->app->bindShared('LucaDegasperi\\OAuth2Server\\Storage\\FluentAuthCode', function () use($provider) {
         $storage = new FluentAuthCode($provider->app['db']);
         $storage->setConnectionName($provider->getConnectionName());
         return $storage;
     });
     $this->app->bindShared('LucaDegasperi\\OAuth2Server\\Storage\\FluentClient', function ($app) use($provider) {
         $limitClientsToGrants = $app['config']->get('oauth2.limit_clients_to_grants');
         $storage = new FluentClient($provider->app['db'], $limitClientsToGrants);
         $storage->setConnectionName($provider->getConnectionName());
         return $storage;
     });
     $this->app->bindShared('LucaDegasperi\\OAuth2Server\\Storage\\FluentRefreshToken', function () use($provider) {
         $storage = new FluentRefreshToken($provider->app['db']);
         $storage->setConnectionName($provider->getConnectionName());
         return $storage;
     });
     $this->app->bindShared('LucaDegasperi\\OAuth2Server\\Storage\\FluentScope', function ($app) use($provider) {
         $limitClientsToScopes = $app['config']->get('oauth2.limit_clients_to_scopes');
         $limitScopesToGrants = $app['config']->get('oauth2.limit_scopes_to_grants');
         $storage = new FluentScope($provider->app['db'], $limitClientsToScopes, $limitScopesToGrants);
         $storage->setConnectionName($provider->getConnectionName());
         return $storage;
     });
     $this->app->bindShared('LucaDegasperi\\OAuth2Server\\Storage\\FluentSession', function () use($provider) {
         $storage = new FluentSession($provider->app['db']);
         $storage->setConnectionName($provider->getConnectionName());
         return $storage;
     });
 }
 /**
  * Delete an access token
  *
  * @param \League\OAuth2\Server\Entity\AccessTokenEntity $token The access token to delete
  *
  * @return void
  */
 public function delete(AccessTokenEntity $token)
 {
     //Invalidate cache
     $this->cache->invalidateAccessToken($token);
     $this->storage->delete($token);
 }