@@ -21,6 +21,8 @@ class AppCustomAuthenticator extends AbstractLoginFormAuthenticator
21
21
{
22
22
use TargetPathTrait;
23
23
24
+ public const LOGIN_ROUTE = 'app_login ' ;
25
+
24
26
private $ urlGenerator ;
25
27
26
28
public function __construct (AppUserManager $ appUserManager , UrlGeneratorInterface $ urlGenerator )
@@ -31,30 +33,26 @@ public function __construct(AppUserManager $appUserManager, UrlGeneratorInterfac
31
33
32
34
public function supports (Request $ request ): bool
33
35
{
34
- return 'app_login ' === $ request ->attributes ->get ('_route ' )
35
- && $ request ->isMethod ('POST ' );
36
+ return $ request ->isMethod ('POST ' ) && 'app_login ' === $ request ->attributes ->get ('_route ' );
36
37
}
37
38
38
39
public function authenticate (Request $ request ): PassportInterface
39
40
{
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 ' , '' );
45
42
46
- $ request ->getSession ()->set (Security::LAST_USERNAME , $ credentials [ ' email ' ] );
43
+ $ request ->getSession ()->set (Security::LAST_USERNAME , $ email );
47
44
48
45
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 );
51
48
}),
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
+ ]
54
53
);
55
54
}
56
55
57
-
58
56
public function onAuthenticationSuccess (Request $ request , TokenInterface $ token , string $ firewallName ): ?Response
59
57
{
60
58
if ($ targetPath = $ this ->getTargetPath ($ request ->getSession (), $ firewallName )) {
@@ -66,6 +64,6 @@ public function onAuthenticationSuccess(Request $request, TokenInterface $token,
66
64
67
65
protected function getLoginUrl (Request $ request ): string
68
66
{
69
- return $ this ->urlGenerator ->generate (' app_login ' );
67
+ return $ this ->urlGenerator ->generate (self :: LOGIN_ROUTE );
70
68
}
71
69
}
0 commit comments