/** * @param TokenInterface $accessToken * @param bool $revokeNonUsedAccessToken */ public function save(TokenInterface $accessToken, $revokeNonUsedAccessToken = false) { if ($revokeNonUsedAccessToken) { $this->revokeNonUsedAccessToken($accessToken->getClient(), $accessToken->getUser()); } $this->objectManager->persist($accessToken); $this->objectManager->flush(); }
/** * @param TokenInterface $accessTokenEntity * * @return OAuth2Token */ public static function createFromAccessTokenEntity(TokenInterface $accessTokenEntity) { $roles[] = 'ROLE_USER'; if (($client = $accessTokenEntity->getClient()) instanceof ApiClientInterface) { $roles = array_merge($roles, $client->getRoles()); } if ($user = $accessTokenEntity->getUser()) { if ($user instanceof UserInterface) { $roles[] = 'ROLE_REAL_USER'; } $roles = array_merge($roles, $user->getRoles()); } $roles = array_unique($roles); $token = new self($roles); if ($user) { $token->setUser($user); } $token->setAuthenticated(true); $token->setAccessToken($accessTokenEntity->getCode()); return $token; }