Esempio n. 1
0
 /**
  * @param string $email
  * @param string $password
  * @param string $roleStringIdentifier
  * @return User
  * @throws RoleDoesNotExistException
  * @throws UserAlreadyExistsException
  */
 public function register(string $email, string $password, string $roleStringIdentifier)
 {
     $entityManager = $this->registry->getManager();
     $email = UserTools::sanitizeUserEmail($email);
     $this->validateUserDoesNotExists($email);
     $passwordHash = Passwords::hash($password);
     $user = new User($email, $passwordHash);
     $entityManager->persist($user);
     $this->roleToUserAssigner->assignByString($roleStringIdentifier, $user);
     $entityManager->flush($user);
     return $user;
 }
 /**
  * @param string $data
  * @return AuthorizationRequest
  */
 public function unserialize(string $data) : AuthorizationRequest
 {
     $manager = $this->registry->getManager();
     /** @var AuthorizationRequest $authorizationRequest */
     $authorizationRequest = unserialize($data);
     if ($client = $authorizationRequest->getClient()) {
         $authorizationRequest->setClient($manager->merge($client));
     }
     $scopes = [];
     foreach ($authorizationRequest->getScopes() as $scope) {
         $scopes[] = $manager->merge($scope);
     }
     $authorizationRequest->setScopes($scopes);
     return $authorizationRequest;
 }
Esempio n. 3
0
 /**
  * @param Client $client
  * @param MappingCreator $mappingCreator
  * @param Registry $registry
  */
 public function __construct(Client $client, MappingCreator $mappingCreator, Registry $registry)
 {
     $this->client = $client;
     $this->mappingCreator = $mappingCreator;
     $this->indicesRepository = $registry->getRepository(Index::class);
     $this->entityManager = $registry->getManager();
 }
 /**
  * @param string $tokenId
  * @return bool
  * @throws InvalidStateException
  * @throws QueryException
  */
 public function isRefreshTokenRevoked($tokenId)
 {
     /** @var RefreshTokenEntity $refreshTokenEntity */
     $refreshTokenEntity = $this->registry->getManager()->getRepository(RefreshTokenEntity::class)->fetchOne($this->createQuery()->byIdentifier($tokenId));
     return $refreshTokenEntity ? $refreshTokenEntity->isRevoked() : true;
 }
Esempio n. 5
0
 /**
  * @param Client $client
  * @param Registry $registry
  */
 public function __construct(Client $client, Registry $registry)
 {
     $this->client = $client;
     $this->indicesRepository = $registry->getRepository(IndexEntity::class);
     $this->entityManager = $registry->getManager();
 }
 /**
  * @param string $codeId
  * @return bool
  * @throws InvalidStateException
  * @throws QueryException
  */
 public function isAuthCodeRevoked($codeId)
 {
     /** @var AuthCodeEntity|null $authCodeEntity */
     $authCodeEntity = $this->registry->getManager()->getRepository(AuthCodeEntity::class)->fetchOne($this->createQuery()->byIdentifier($codeId));
     return $authCodeEntity ? $authCodeEntity->isRevoked() : true;
 }
 /**
  * @param string $tokenId
  * @return bool
  * @throws InvalidStateException
  * @throws QueryException
  */
 public function isAccessTokenRevoked($tokenId)
 {
     /** @var AccessTokenEntity|null $accessTokenEntity */
     $accessTokenEntity = $this->registry->getManager()->getRepository(AccessTokenEntity::class)->fetchOne($this->createQuery()->byIdentifier($tokenId));
     return $accessTokenEntity ? $accessTokenEntity->isRevoked() : true;
 }
 /**
  * @param string $clientIdentifier
  * @param string $grantType
  * @param string|null $clientSecret
  * @param bool $mustValidateSecret
  * @return ClientEntity|null
  * @throws InvalidStateException
  * @throws QueryException
  */
 public function getClientEntity($clientIdentifier, $grantType, $clientSecret = null, $mustValidateSecret = true)
 {
     /** @var ClientEntity|null $clientEntity */
     $clientEntity = $this->registry->getManager()->getRepository(ClientEntity::class)->fetchOne($this->createQuery()->byIdentifier($clientIdentifier));
     return $clientEntity && $mustValidateSecret && $clientEntity->getSecret() !== null && !call_user_func($this->secretValidator, $clientEntity->getSecret(), $clientSecret) ? null : $clientEntity;
 }
Esempio n. 9
0
 /**
  * @param Role $role
  * @param User $user
  * @return UserRole
  */
 private function assign(Role $role, User $user) : UserRole
 {
     $userRole = new UserRole($user, $role);
     $this->registry->getManager()->persist($userRole)->flush($userRole);
     return $userRole;
 }
 /**
  * @param string $identifier
  * @return ScopeEntity|null
  * @throws InvalidStateException
  * @throws QueryException
  */
 public function getScopeEntityByIdentifier($identifier)
 {
     return $this->registry->getManager()->getRepository(ScopeEntity::class)->fetchOne($this->createQuery()->byIdentifier($identifier));
 }