问题描述
我通过 3rd 方系统创建身份验证(我在我的数据库中存储了来自与用户关联的外部系统的令牌信息),成功后,我只从数据库中选择用户数据并通过身份验证
return $guardHandler->authenticateUserAndHandleSuccess(
$user,$request,$formAuthenticator,'main'
);
但是,我想在这种授权方法上默认设置 remember_me。 我在security.yml中设置
main:
anonymous: true
lazy: true
provider: app_user_provider
switch_user: true
remember_me:
secret: '%kernel.secret%'
lifetime: 2592000
always_remember_me: true
但它仅适用于普通登录表单,而不适用于使用 authenticationUserAndHandleSuccess 方法时。
在这种情况下如何默认设置remember_me cookie?
解决方法
从它记录的代码源:
/**
* Does this method support remember me cookies?
*
* Remember me cookie will be set if *all* of the following are met:
* A) This method returns true
* B) The remember_me key under your firewall is configured
* C) The "remember me" functionality is activated. This is usually
* done by having a _remember_me checkbox in your form,but
* can be configured by the "always_remember_me" and "remember_me_parameter"
* parameters under the "remember_me" firewall key
* D) The onAuthenticationSuccess method returns a Response object
*
* @return bool
*/
public function supportsRememberMe();
是否满足所有这些要求?