Laravel - 单点登录的多个项目
Laravel - Multiple projects with single signin
我只需要一些关于多个 laravel 应用单点登录的建议。
它连接到相同的数据库和相同的用户 table。
这个概念就像 ERP 系统,它有一个链接到不同应用程序的多选按钮,步骤如下:
1) Login/Register (APP1)
2) Redirect to ERP Home(APP1)
3) Select another app and redirect to app2(APP2)
4) Auto login based on APP1 authentication(APP2)
所以APP1为主,其他app认证依赖于APP1。
有什么建议吗?
到目前为止,我已经浏览了 laravel 护照和 jwt api 文档,它与我的目标完全不同。
我可以通过按钮 HREF 传递会话吗? :(
谢谢!
我只是分享我的想法。
进程:
制作一个令牌系统,用于在两个应用程序内进行通信。
Token 将携带用户 ID 或任何类型的唯一标识。
如果 APP1 生成的临时令牌与 APP2 匹配,则解码令牌并获取用户唯一身份。
- 在APP2中手动登录用户
您可以手动登录任何用户。
Auth::login($user);
最后我可以通过 url 传递用户 ID 并从路由中获取它们:)
这是最终代码,以防有人遇到同样的问题:)
域 1
Link url 通过按钮
<a href="http://domain1.com/autologin?id={{ auth::id() }}&api_token=token">Pass uid</a>
域 2
确保自动登录路由在网络中间件内。
web.php
Route::group(['middleware' => ['web']], function () {
Route::get('autologin', function () {
$user = $_GET['id'];
Auth::loginUsingId($user, true);
return redirect()->intended('/dashboard');
});
});
祝你好运,谢谢 ;)
我只需要一些关于多个 laravel 应用单点登录的建议。 它连接到相同的数据库和相同的用户 table。 这个概念就像 ERP 系统,它有一个链接到不同应用程序的多选按钮,步骤如下:
1) Login/Register (APP1)
2) Redirect to ERP Home(APP1)
3) Select another app and redirect to app2(APP2)
4) Auto login based on APP1 authentication(APP2)
所以APP1为主,其他app认证依赖于APP1。 有什么建议吗? 到目前为止,我已经浏览了 laravel 护照和 jwt api 文档,它与我的目标完全不同。
我可以通过按钮 HREF 传递会话吗? :(
谢谢!
我只是分享我的想法。
进程:
制作一个令牌系统,用于在两个应用程序内进行通信。
Token 将携带用户 ID 或任何类型的唯一标识。
如果 APP1 生成的临时令牌与 APP2 匹配,则解码令牌并获取用户唯一身份。
- 在APP2中手动登录用户
您可以手动登录任何用户。
Auth::login($user);
最后我可以通过 url 传递用户 ID 并从路由中获取它们:) 这是最终代码,以防有人遇到同样的问题:)
域 1
Link url 通过按钮
<a href="http://domain1.com/autologin?id={{ auth::id() }}&api_token=token">Pass uid</a>
域 2
确保自动登录路由在网络中间件内。
web.php
Route::group(['middleware' => ['web']], function () {
Route::get('autologin', function () {
$user = $_GET['id'];
Auth::loginUsingId($user, true);
return redirect()->intended('/dashboard');
});
});
祝你好运,谢谢 ;)