laravel 无密码auth认证

项目中遇到一个场景,从OA跳转到现在的系统中,采用的是在OA内用工号签名的方式,从OA跳转进系统时,无需登陆。

当前系统内有用户表,且有自己的密码。

用户可以从OA系统直接跳转,也可以从系统登陆页登陆

从OA跳转进系统时,不带密码,所以需要签名验证通过之后就通过auth认证。

处理方式如下:
1、中间件内解析签名,验证签名是否正确,签名正确则通过auth.

// 签名解析。。。。。

// 签名验证通过。。。。

// 根据获得的工号查询本系统内的账户信息

$user = Trains::where([
                        ['id_number','=',$this->id_number],
                        ['type','=','1']]
                        )->first();
// train 为我的自定义guard        
// 使用auth login 认证
auth('train')->login($user);
阅读 147

推荐阅读