Laravel使用JWT多用户认证

独奏

技术分享|2016-8-20|最后更新: 2023-2-23|
type
status
date
slug
summary
tags
category
icon
password
Laravel 5.2 中本身自带了 auth 认证,也是支持多用户的,但是项目使用 Angular,所以后端只需要以接口的形式提供 json api 就可以了,这里就需要使用 JWT 来进行用户认证了,网上普遍的方式是使用 JWT-Auth 框架来进行 JWT 认证,但是发现 5.9 版本不支持多用户认证,1.0 之后才支持。但是由于 1.0 版本是 alpha 版本,所以 github 上并没有其相关文档,找了半天发现作者在某个 issue 里面提到了多用户的使用方法,遂在这里整理记录一下。
1 在 composer.json 文件的 require 中添加如下行来引入 JWT-Auth
2 comfig/app.php 配置
providers 下添加
aliases 下添加
3 terminal 下执行 php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" 在 config 下生成 jwt.php 配置文件
4 terminal 下执行 php artisan jwt:secret 生成加密密钥
5 config/auth.php 设置相关参数
6 route.php 中添加登录相关路由
7 AuthController.php 中添加登录逻辑
AuthController 中的 guard 属性可以指定在 auth.php 中声明的认证方式。
在其它需要认证才能访问的 controller 中可以使用中间件来判断
auth 中间件 Authenticate.php

参考