首页 > 解决方案 > 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传递会话吗?:(

谢谢!

标签: laravelauthenticationjwtpassport.js

解决方案


最后,我可以通过 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');
    });
});

祝你好运,谢谢;)


推荐阅读