public function tokenAction() { $shib = $this->container->get('ilios_authentication.shibboleth.authentication'); if ($user = $shib->getUser()) { $jwtKey = $this->container->getParameter('kernel.secret'); $token = new JwtToken($jwtKey); $token->setUser($user); return new JsonResponse(array('jwt' => $token->getJwt()), JsonResponse::HTTP_OK); } return new JsonResponse(array('jwt' => null), JsonResponse::HTTP_OK); }
public function authenticateToken(TokenInterface $token, UserProviderInterface $userProvider, $providerKey) { try { $authentication = $userProvider->loadUserByUsername($token->getUsername()); $user = $authentication->getUser(); } catch (UsernameNotFoundException $e) { throw new AuthenticationException('Invalid username or password'); } $passwordValid = $this->encoder->isPasswordValid($user, $token->getCredentials()); if ($passwordValid) { $token = new JwtToken($this->jwtKey); $token->setUser($user); return $token; } throw new AuthenticationException('Invalid username or password'); }