/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $userId = (int) $input->getArgument('user'); $roles = (string) $input->getArgument('roles'); $token = $this->token->addToken($userId, explode(',', $roles)); $output->writeln(sprintf('Created token %s for user %d with roles: %s', $token, $userId, $roles)); }
/** * @param string $token * @param SessionInterface $session * @return UserVO * @throws UserException */ public function loginWithToken(string $token, SessionInterface $session) : UserVO { $tokenData = $this->token->getToken($token); if (empty($tokenData) || !in_array(self::TOKEN_LOGIN, $tokenData['roles'])) { throw new UserException('Invalid Token'); } $userVo = $this->loadUser->loadUserById($tokenData['userId']); $authenticationVo = new AuthenticationDataVO($userVo, null, null); $this->handleLogin($session, $authenticationVo, $userVo); return $userVo; }
/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $userId = (int) $input->getArgument('user'); $tokens = $this->token->getTokensForUser($userId); $table = new Table($output); $table->setHeaders(['token', 'roles']); foreach ($tokens as $token => $data) { $table->addRow([$token, implode(',', $data)]); } $table->render(); }
/** * {@inheritdoc} */ public function processRequest(Request $request, Route $route) { $token = $request->get('accessToken'); if (empty($token)) { return null; } $userId = $this->token->hasUserForRole($token); if (empty($userId)) { return null; } $user = $this->loadUser($userId); $request->attributes->set('user', $user); }
/** * @param Request $request * @Route("/user/tokens/{token}/", name="authenticate.tokens.revoke", methods="DELETE") * @param string $token * @return bool */ public function revoke(Request $request, string $token) : bool { unset($request); $this->token->revoke($token); return true; }