Laravel JWT身份验证方法(我的解决方案好吗?)

时间:2019-07-18 07:14:02

标签: php laravel authentication jwt

我有许多laravel(5.4)应用程序。

主应用程序处理注册,登录等。其他应用程序需要使用主应用程序的用户表和身份验证,因此,如果有人登录主应用程序,则其他应用程序应将其视为已登录用户。

花了一段时间研究这个问题,提出了JWT认证技术(因为另一个node.js应用程序已经使用此方法向主laravel应用程序进行身份验证)。在node.js中,它是用ajax完成的,例如,节点应用程序调用{​​{1}},并获取jwt令牌(如果存在),然后节点对其进行解密,然后一切继续进行。

作为所有使用tymon / jwt-auth软件包的laravel应用程序,我也可以在其他laravel应用程序中做同样的事情,但是在我看来有点笨拙,是否有更好的方法在应用程序之间共享身份验证?还是服务器端解决方案?

1 个答案:

答案 0 :(得分:0)

您的JWT使用的是您唯一的JWT_SECRET。因此,只要所有的env文件都以JWT_SECRET的相同env值运行,您只需要使用中间件来检查令牌并验证用户身份。

您的JWT还具有很多参数可供您研究,但其中最重要的是exp(这是到期时间)和sub(这是来自用户表的用户ID) 。这样您就可以获得所需的几乎所有信息。