/**
  * Get a user entity.
  *
  * @param string $identifier
  *
  * @return \League\OAuth2\Server\Entities\UserEntityInterface
  */
 public function getUserEntityByIdentifier($identifier)
 {
     $userVerifier = app()->make(Oauth2Server::class)->getOptions()['user_verifier'];
     $user = (new $userVerifier())->getUserByIdentifier($identifier);
     if (is_null($identifier)) {
         return;
     }
     $userEntity = new UserEntity();
     $userEntity->setIdentifier((string) $user->id);
     return $userEntity;
 }
 /**
  * find an access token.
  *
  * @param UserEntity $user
  *
  * @return array|null
  */
 public function findAccessTokensByUser(UserEntity $user)
 {
     $accessTokenModel = $this->modelResolver->getModel('AccessTokenModel');
     /** @var Collection $accessTokens */
     $accessTokens = $accessTokenModel::where('user_id', $user->getIdentifier())->get();
     if ($accessTokens->isEmpty()) {
         return;
     }
     return $accessTokens->map(function ($accessToken) {
         return $this->getAccessTokenEntity($accessToken);
     })->toArray();
 }
 /**
  * get getAccessTokensForUser.
  *
  * @param $userId
  *
  * @return array|null
  */
 public function getAccessTokensForUser($userId)
 {
     $accessTokenRepository = new AccessTokenRepository();
     // instance of AccessTokenRepositoryInterface
     $user = new UserEntity();
     // instance of AccessTokenRepositoryInterface
     $user->setIdentifier($userId);
     return $accessTokenRepository->findAccessTokensByUser($user);
 }