src/Controller/SecurityController.php line 16
<?phpnamespace App\Controller;use App\Entity\ApiToken;use App\Entity\User;use App\Repository\UserRepository;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;use Symfony\Component\Security\Http\Attribute\CurrentUser;class SecurityController extends AbstractController{#[Route('/login', name: 'app_login', methods: ['POST'] )]public function login(#[CurrentUser] User $user = null,UserRepository $userRepository): Response{if(!$user){return $this->json( ['error' => 'Nesprávné přihlašovací údaje.'], 401);}if(count($user->getTokens()) === 0) {$apiToken = new ApiToken();$apiToken->setOwnedBy($user);$user->addToken($apiToken);$userRepository->save($user, true);}return $this->json(['user' => $user->getUserIdentifier(),'token' => $user->getTokens()->last()->getToken(),]);}#[Route('/prihlasit', name: 'app_login_page', methods: ['GET'] )]public function loginPage(): Response{return $this->render('security/loginPage.html.twig');}#[Route('/logout', name: 'app_logout')]public function logout(): void{throw new \Exception('Don\'t forget to activate logout in security.yaml');}}