Kol*_*sar 3 cookies session lifetime laravel
我使用我的Laravel作为OAuth2客户端,我需要保留令牌我的cookie.所以,我将驱动程序设置为cookie并保持生命周期120的默认值
当任何用户检查记住我登录时,我试图用代码改变生命周期:
$lifetime = time() + 60 * 60 * 24 * 365;// one year
Config::set('session.lifetime', $lifetime);
Run Code Online (Sandbox Code Playgroud)
但没有成功.在任何其他控制器中,我检查了生命值以及每次获得默认值.
\Log::info(\Config::get('session.lifetime'));
Run Code Online (Sandbox Code Playgroud)
编辑#1:
这够了吗?
if(Input::has('rememberMe')) {
$lifetime = time() + 60 * 60 * 24 * 365; // one year
Session::put('Expires', $lifetime);
}
Run Code Online (Sandbox Code Playgroud)
编辑#2:
我将acess_token键与上面示例中的Expires相同,如:
public function signin() {
/**
* Code for getting *client_code* and *client_state* from API server
*/
$access_token = $this->provider->getAccessToken('authorization_code', $form_data);
// $access_token is object and contain all data (access_token, refresh_token, expires)
Session::put('access_token', $access_token);
Session::put('refresh_token', $access_token->refreshToken);
Session::put('token_expires', $access_token->expires);
if(Input::has('rememberMe')) {
$lifetime = time() + 60 * 60 * 24 * 365; // one year
Session::put('expires', $lifetime);
}
return Response....
}
Run Code Online (Sandbox Code Playgroud)
这是'默认'Laravel会话(我在/app/config/session.php中将驱动程序从文件更改为cookie).我知道生活时间应该在/app/config/session.php文件中设置,但是你可以看到我需要更长的续航时间来记住我的选项
实际上,当您在以下情况下设置这样的值时Controller
:
$lifetime = time() + 60 * 60 * 24 * 365;// one year
Config::set('session.lifetime', $lifetime);
Run Code Online (Sandbox Code Playgroud)
它不是更新文件中的值,而是仅为当前请求(在内存中)设置它,并且当您使用另一个Controller/Request检查值时,如下所示:
Config::get('session.lifetime');
Run Code Online (Sandbox Code Playgroud)
您从文件系统中获取原始值的值.它在文档中提到如下:
在运行时设置的配置值仅为当前请求设置,不会转移到后续请求.
归档时间: |
|
查看次数: |
24661 次 |
最近记录: |