laravel8-使用jwt

jwt-官方网址
https://jwt-auth.readthedocs.io/en/develop/laravel-installation

安装

  • 第一步:composer拉取最新版本
composer require tymon/jwt-auth
  • 第二步:添加服务提供者(Laravel 5.4 或以下)
    将服务提供者添加到配置文件 config/app.php 中的 providers 数组中,如下所示:
'providers' => [...Tymon\JWTAuth\Providers\LaravelServiceProvider::class,
]'aliases' => [...'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class,'JWTFactory' => Tymon\JWTAuth\Facades\JWTFactory::class,],
  • 第三步:运行以下命令发布包配置文件
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"

运行完后应该有一个 config/jwt.php 文件,允许配置此包的基础知识

  • 第四步:运行以下命令生成一个密钥
php artisan jwt:secret

运行完后.env文件会生成一个 JWT_SECRET

在laravel项目中配置

  • 第一步:配置 config/auth.php
    在 config/auth.php 中,将 api 的 driver 驱动改为 jwt

    然后注册自己写的model

    - 第二步:定义路由

    具体代码
    - 控制器-新建 AuthController
<?phpnamespace App\Http\Controllers\Auth;use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use Tymon\JWTAuth\Facades\JWTAuth;class AuthController extends Controller
{/*** Create a new AuthController instance.** @return void*/public function __construct(){$this->middleware('auth:api', ['except' => ['login']]);}/*** Get a JWT via given credentials.** @return \Illuminate\Http\JsonResponse*/public function login(Request $request){$credentials = $request->only('name', 'password');if (count($credentials) < 2) {return response()->json(['error' => 'Unauthorized'], 401);}$user = User::where('name', $credentials['name'])->where('password', ($credentials['password']))->first();if (empty($user) || !$token = JWTAuth::fromUser($user)) {return response()->json(['error' => 'Unauthorized'], 401);}return $this->respondWithToken($token);}/*** Get the authenticated User.** @return \Illuminate\Http\JsonResponse*/public function me(){return response()->json(auth('api')->user());}/*** Log the user out (Invalidate the token).** @return \Illuminate\Http\JsonResponse*/public function logout(){auth('api')->logout();return response()->json(['message' => 'Successfully logged out']);}/*** Refresh a token.* @return \Illuminate\Http\JsonResponse*/public function refresh(){return $this->respondWithToken(auth('api')->refresh());}/*** Get the token array structure.** @param  string $token** @return \Illuminate\Http\JsonResponse*/protected function respondWithToken($token){return response()->json(['access_token' => $token,'token_type' => 'bearer','expires_in' => auth('api')->factory()->getTTL() * 60]);}
}

- Model-新建 User

<?phpnamespace App\Models;use Illuminate\Database\Eloquent\Model;
use Tymon\JWTAuth\Contracts\JWTSubject;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;class User extends Authenticatable implements JWTSubject
{use Notifiable;protected $table = 'users';// Rest omitted for brevity/*** Get the identifier that will be stored in the subject claim of the JWT.** @return mixed*/public function getJWTIdentifier(){return $this->getKey();}/*** Return a key value array, containing any custom claims to be added to the JWT.** @return array*/public function getJWTCustomClaims(){return [];}
}

end-到此结束

laravel8-使用jwt相关推荐

  1. 微信小程序 授权登录+手机发送验证码+jwt验证接口(laravel8+php)

    参考博客 小程序授权登录并 laravel7(laravel8) token 应用 - 王越666 - 博客园 微信小程序sku商品规格选择器 - 简书 微信小程序 和 laravel8 实现搜索后分 ...

  2. 监控系统实践第9天:使用Composer下载Laravel8.5

    监控系统实践第9天:使用Composer下载Laravel8.5 昨天大致介绍了一下Composer的用法,今天来实操一把,在CentOS系统下,用Composer下载Laravel 8.5,其他系统 ...

  3. token验证失败_ASP.NET CORE WEBAPI JWT 带BEARER的TOKEN

    JWT主要由三部分构成,header. payload .signature,下面给出详细的TOKEN生成及使用代码. 1.注册JWT服务 public void ConfigureServices( ...

  4. jwt 私钥_一分钟带你了解JWT认证

    一.JWT简介 JSON Web Token(JWT)是一个开放的标准(RFC 7519),它定义了一个紧凑且自包含的方式,用于在各方之间作为JSON对象安全地传输信息.由于此信息是经过数字签名的,因 ...

  5. php jwt token过期时间,php – 动态设置laravel jwt的到期时间

    嗨,我在前端使用角度js,在后端使用带有tymon jwt库的卫星和laravel.我正在使用jwt身份验证.我想在我的网络应用程序中记住我的功能.我看到'ttl'在laravel'config / ...

  6. php jwt使用案例,PHP使用JWT创建Token的实例详解

    iss (issuer)issuer请求实体,可以是发起请求的用户的信息,也可是jwt的签发者 sub (Subject)设置主题,类似于发邮件时的主题 aud (audience)接收jwt的一方 ...

  7. JWT(JSON Web Token)简介及实现

    JWT(JSON Web Token):是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间作为Json对象安全地传输信息.由于此信息是经过数字签名的,因此可以被验证和信 ...

  8. Java项目:在线淘房系统(租房、购房)(java+SpringBoot+Redis+MySQL+Vue+SpringSecurity+JWT+ElasticSearch+WebSocket)

    源码获取:博客首页 "资源" 里下载! 该系统有三个角色,分别是:普通用户.房屋中介.管理员.普通用户的功能:浏览房屋信息.预约看房.和中介聊天.申请成为中介等等.房屋中介的功能: ...

  9. Java项目:网上图书商城系统(java+SSM+Jsp+MySQL+Redis+JWT+Shiro+RabbitMQ+EasyUI)

    源码获取:博客首页 "资源" 里下载! 这个项目涉及到Shiro整合JWT.秒杀功能所具备的基本要求(限流.乐观锁.接口隐藏.JMeter高并发测试等等).消息中间件RabbitM ...

  10. 基于jwt的用户登录认证

    最近在app的开发过程中,做了一个基于token的用户登录认证,使用vue+node+mongoDB进行的开发,前来总结一下. token认证流程: 1:用户输入用户名和密码,进行登录操作,发送登录信 ...

最新文章

  1. 2019年深度学习的十大预测
  2. 数据库优化:SQL高性能优化指南,助你成就大神之路!
  3. MySQL month()函数
  4. USACO-Section2.2 Subset Sums
  5. LeetCode 93. 复原IP地址
  6. es6 Object.getPrototypeOf()方法
  7. php删除表格命令,数据表格-删除
  8. Javascript中数组的sort方法的分析
  9. SpringCloud-网关gateway-zuul
  10. 滴滴章文嵩:一个人的20年开源热情和国内互联网开源运动
  11. 0基础学编程难吗?多久能学会?转行IT常见的4个问题
  12. Huawei RH2288 V3 风扇噪音大的解决方案
  13. App逆向——安卓7以上如何安装抓取https的包
  14. 1665 完成所有任务的最少初始能量
  15. Element table各种合并单元格
  16. 笔记本计算机声音小,笔记本电脑没声音小喇叭不见了怎么恢复电脑
  17. 微信营销七(微信朋友圈发文技巧)
  18. SparkCore之共享变量的解释
  19. 关于《管理:技艺之精髓》一书中提到的管理任务和工具
  20. 3D立体字生成器【免费在线工具】

热门文章

  1. JAVA程序修改PDF内容_java 修改pdf
  2. java实现中文大写金额转小写数字
  3. 分区分服游戏框架设计
  4. SpringBoot学习_创建
  5. Web渗透测试-实战 方法 思路 总结
  6. idea设置Maven本地仓库
  7. Intellij Idea 导入项目
  8. YOLO算法v1-v3原理通俗理解
  9. 对话西蒙斯:解密金融模型和量化投资帝国
  10. 【工具类】数据脱敏工具类