我正在尝试实施登录链接身份验证。不幸的是,我坚持下去。当我移动到生成的链接时,出现下一个异常:
InvalidLoginLinkAuthenticationException: 无法登录链接 验证
身份验证也不起作用:我无法访问安全区域(IS_AUTHENTICATED)。我做错了什么?谢谢!
security.yaml
security:
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
lazy: true
provider: users_in_memory
login_link:
check_route: login_check
signature_properties: [ 'id' ]
access_control:
- { path: '/secured_area', roles: IS_AUTHENTICATED }
LoginController.php
class LoginController extends AbstractController
{
#[Route( '/login_check', name: 'login_check' )]
public function loginCheck()
{
throw new \LogicException( 'This code should never be reached' );
}
#[Route( '/login', name: 'login' )]
public function login( UserRepository $users, EntityManagerInterface $em,
LoginLinkHandlerInterface $loginLinkHandler, AuthenticationUtils $helper )
{
$userExisted = $users->findOneBy( [ 'id' => 123 ] );
$loginLinkDetails = $loginLinkHandler->createLoginLink( $userExisted );
$loginLink = $loginLinkDetails->getUrl();
echo $helper->getLastAuthenticationError();
return new Response( $loginLink );
}
}