【发布时间】:2020-07-23 19:56:54
【问题描述】:
我目前正在开发一个托管在域上的 laravel 项目。此应用程序的一部分(某些功能)必须位于不同的域中。我找到了一种方法,在我的 web.php 中,我用 :
映射了所有路线Route::group(['domain' => config('app.main_domain')], function () {
以及需要以相同方式位于另一个域上的路由,但具有不同的域。行。 在主域中,我创建了一个带有 src 属性的图像:
<img src="{{ config('second_domain') . DIRECTORY_SEPARATOR }}auth?id={{ \Illuminate\Support\Facades\Crypt::encrypt(\Illuminate\Support\Facades\Session::getId()) }}" style="display:none;"/>
指向这个方法路由:
if ($request->has('id')) {
$session_id = Crypt::decrypt($request->get('id'));
Session::setId($session_id);
Session::start();
}
它正在工作。我在不同的域上共享相同的会话,但是,我想问你们是否知道这种情况下的更好方法。我知道这是 google 使用的旧方法。
我不得不说,用户需要在不同的域中保持身份验证。我查看了 laravel 护照或 laravel sanctum,但这些都是用于 API 身份验证的。
我们将不胜感激。
【问题讨论】:
-
请看这个,这篇文章中讨论的所有场景stackoverflow.com/questions/14611545/…
-
感谢您的回复,但这是一个非常古老的线程,我阅读了它,但没有找到任何对我有帮助的东西..
-
当用户登录网站时,将用户重定向到具有会话ID/一些令牌的其他网站页面,其他网站可以读取会话ID/令牌,验证令牌/ID,如果有效则设置cokkie并重定向回到您最初希望用户登录后去的任何地方。在此处查看接受的答案stackoverflow.com/questions/6761415/…
-
在用户登录后将用户重定向到另一个页面,然后返回原始网站,这有点糟糕。我不知道 oauth2 是否会帮助我或大量请求
-
但是 google 所做的,它重定向的时间很短而且速度很快,你甚至都不会注意到。您可以尝试将令牌存储在本地存储中,其他网站可以获取该令牌