Skip to content

Commit e6d2b26

Browse files
-
1 parent 18a4449 commit e6d2b26

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

src/Security/AppCustomAuthenticator.php

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ class AppCustomAuthenticator extends AbstractLoginFormAuthenticator
2121
{
2222
use TargetPathTrait;
2323

24+
public const LOGIN_ROUTE = 'app_login';
25+
2426
private $urlGenerator;
2527

2628
public function __construct(AppUserManager $appUserManager, UrlGeneratorInterface $urlGenerator)
@@ -31,30 +33,26 @@ public function __construct(AppUserManager $appUserManager, UrlGeneratorInterfac
3133

3234
public function supports(Request $request): bool
3335
{
34-
return 'app_login' === $request->attributes->get('_route')
35-
&& $request->isMethod('POST');
36+
return $request->isMethod('POST') && 'app_login' === $request->attributes->get('_route');
3637
}
3738

3839
public function authenticate(Request $request): PassportInterface
3940
{
40-
$credentials = [
41-
'email' => $request->request->get('email', ''),
42-
'password' => $request->request->get('password', ''),
43-
'csrf_token' => $request->request->get('_csrf_token'),
44-
];
41+
$email = $request->request->get('email', '');
4542

46-
$request->getSession()->set(Security::LAST_USERNAME, $credentials['email']);
43+
$request->getSession()->set(Security::LAST_USERNAME, $email);
4744

4845
return new Passport(
49-
new UserBadge($credentials['email'], function($email) {
50-
return $this->appUserManager->getByEmail($email);
46+
new UserBadge($email, function($identifier) {
47+
return $this->appUserManager->getByEmail($identifier);
5148
}),
52-
new PasswordCredentials($credentials['password']),
53-
[new CsrfTokenBadge('login', $credentials['csrf_token'])]
49+
new PasswordCredentials($request->request->get('password', '')),
50+
[
51+
new CsrfTokenBadge('authenticate', $request->get('_csrf_token')),
52+
]
5453
);
5554
}
5655

57-
5856
public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $firewallName): ?Response
5957
{
6058
if ($targetPath = $this->getTargetPath($request->getSession(), $firewallName)) {
@@ -66,6 +64,6 @@ public function onAuthenticationSuccess(Request $request, TokenInterface $token,
6664

6765
protected function getLoginUrl(Request $request): string
6866
{
69-
return $this->urlGenerator->generate('app_login');
67+
return $this->urlGenerator->generate(self::LOGIN_ROUTE);
7068
}
7169
}

templates/Modules/security/login.html.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<div class="row">
1414
<div class="col-12 offset-md-3 col-md-6 offset-xl-4 col-xl-4">
1515
<form method="post">
16-
<input type="hidden" name="_csrf_token" value="{{ csrf_token('login') }}">
16+
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">
1717

1818
<div class="form-group mb-3">
1919
<label for="inputEmail" class="required form-label">{{ 'email'|trans }}</label>

0 commit comments

Comments
 (0)