laravel - Laravel - 单一登录的多个项目
问题描述
我只需要一些关于多个 laravel 应用程序单点登录的建议。它与相同的数据库和相同的用户表连接。这个概念就像 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 将是主要的,而其他应用程序的身份验证依赖于 APP1。有什么建议吗?到目前为止,我已经浏览了 laravel 护照和 jwt api 文档,它与我的目标完全不同。
我可以通过按钮HREF传递会话吗?:(
谢谢!
解决方案
最后,我可以通过 url 传递用户 ID 并从路由中获取它们 :) 这是最终代码,以防万一有人遇到同样的问题 :)
域 1
通过按钮链接网址
<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');
});
});
祝你好运,谢谢;)
推荐阅读
- php - 如何在没有键的情况下使用 PHP 获取内部数组值
- api - 调用涂鸦智能API,调用接口报错码:1106,权限被拒绝,如何解决?
- python-sphinx - 如何链接 reStructuredText 中的重复目标?
- python - Locust-重复用户列表
- python - amazon iam 在 boto3 中获得内联政策声明
- sql - 如何计算所有行的中位数?
- django - 使用本地包在 Microsoft Azure 上部署 Django 应用
- c++ - github操作中的cpplinter
- javascript - 如何在 Javascript 中不显示 URL 的情况下创建链接?
- javascript - 我的 NativeBase 结果的标题组件是空的并且不在顶部