Luu*_*gen 8 authentication session cross-domain laravel
我正在Laravel中构建一个多域/多商店电子商务应用程序,并且希望在用户从一个商店更改为商店时保持用户登录.
但据我所知,Laravel的Auth服务会将登录用户保存在会话中,其他域无法访问会话.
有没有办法(可能是一个包)来实现这一点,而不会让我的应用程序容易出现安全问题?
提前致谢!
小智 6
Session::getId()域A中的会话ID$sessionid_from_domainA = $_POST['session_from_A']Session::setId($sessionid_from_domainA)Session::start()在域A上创建一个像这样的图像 <img src="https://DOMAINB.com/setcookie?id={{ Session::getId() }}" style="display:none;" />
在域B上创建一条路由,如下所示:
。
Route::get('setcookie', function(){
Session::setId($_GET['id']);
Session::start();
return 'Cookie created';
});`
Run Code Online (Sandbox Code Playgroud)
$user = Auth::User;小智 5
如果你想在多个子域之间共享会话,在这种情况下你必须设置域名 config/session.php 已经设置了域名。
示例:如果您有 new.example.com 和 test.example.com 那么您必须将域名设置为 example.com
'domain' => env('SESSION_DOMAIN_URL','.example.com')
Run Code Online (Sandbox Code Playgroud)
那里的解决方案对我有用,特别是设置域,然后清除我的浏览器 cookie 和缓存。
| 归档时间: |
|
| 查看次数: |
10125 次 |
| 最近记录: |