laravel如何实现JWT (JSON Web Tokens)认证_Laravel JWT认证实现方法

首先安装 tymon/jwt-auth 包并注册服务提供者,接着生成配置文件与密钥,然后修改 auth 配置使用 jwt 驱动,用户模型实现 JWTSubject 接口,创建登录登出接口处理 Token 生成与销毁,通过 auth:api 中间件保护路由,并可刷新 Token 以延长有效期,完成 Laravel JWT 认证体系搭建。

laravel如何实现jwt (json web tokens)认证_laravel jwt认证实现方法

在 Laravel 中实现 JWT(JSON Web Tokens)认证,通常使用 tymon/jwt-auth 这个广泛支持的扩展包。它可以帮助你快速搭建基于 Token 的用户认证系统,适用于 API 开发场景。

安装 jwt-auth 扩展包

在 Laravel 项目根目录下运行以下命令来安装 JWT 认证包:

composer require tymon/jwt-auth

安装完成后,如果你使用的是 Laravel 8 及以上版本,需要手动注册服务提供者(Laravel 9+ 可能不需要):

config/app.php 中添加:

'providers' => [    ...    TymonJWTAuthProvidersLaravelServiceProvider::class,],
'aliases' => [    ...    'JWTAuth' => TymonJWTAuthFacadesJWTAuth::class,    'JWTFactory' => TymonJWTAuthFacadesJWTFactory::class,],

生成 JWT 配置文件

运行以下命令生成配置文件和密钥:

php artisan vendor:publish --provider="TymonJWTAuthProvidersLaravelServiceProvider"

然后生成 JWT 的 secret key:

php artisan jwt:secret

这会在 .env 文件中自动添加一行:

JWT_SECRET=your_random_string

配置 auth.php 支持 JWT

修改 config/auth.php,将 API 认证驱动改为 jwt:

Find JSON Path Online Find JSON Path Online

Easily find JSON paths within JSON objects using our intuitive Json Path Finder

Find JSON Path Online 30 查看详情 Find JSON Path Online

'guards' => [    'web' => [        'driver' => 'session',        'provider' => 'users',    ],    'api' => [        'driver' => 'jwt',        'provider' => 'users',    ],],

在 User 模型中使用 JWTSubject

确保你的 User 模型实现了 JWTSubject 接口:

use TymonJWTAuthContractsJWTSubject;class User extends Authenticatable implements JWTSubject{    // ...    public function getJWTIdentifier()    {        return $this->getKey();    }    public function getJWTCustomClaims()    {        return [];    }}

创建登录和登出接口

在控制器中处理登录并返回 Token:

use TymonJWTAuthFacadesJWTAuth;use TymonJWTAuthExceptionsJWTException;class AuthController extends Controller{    public function login(Request $request)    {        $credentials = $request->only('email', 'password');        try {            if (! $token = JWTAuth::attempt($credentials)) {                return response()->json(['error' => 'invalid_credentials'], 401);            }        } catch (JWTException $e) {            return response()->json(['error' => 'could_not_create_token'], 500);        }        return response()->json(compact('token'));    }    public function logout()    {        JWTAuth::invalidate(JWTAuth::getToken());        return response()->json(['message' => 'Successfully logged out']);    }}

保护路由

routes/api.php 中使用中间件保护 API 路由:

Route::group(['middleware' => 'auth:api'], function () {    Route::get('/user', function () {        return auth()->user();    });    Route::post('/logout', [AuthController::class, 'logout']);});

登录接口无需保护,其他敏感接口加上 auth:api 中间件即可自动验证 Token。

处理 Token 刷新与过期

你可以通过以下方式刷新 Token(延长有效期):

public function refresh(){    try {        $newToken = JWTAuth::refresh();    } catch (JWTException $e) {        return response()->json(['error' => 'cannot_refresh_token'], 500);    }    return response()->json(compact('newToken'));}

默认 Token 有效期在 config/jwt.php 中配置,如 'ttl' => 60 表示 60 分钟过期。

基本上就这些。按照步骤操作,就能在 Laravel 中成功实现 JWT 认证。注意生产环境要妥善管理 Token 生命周期和安全性。

以上就是laravel如何实现JWT (JSON Web Tokens)认证_Laravel JWT认证实现方法的详细内容,更多请关注php中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/632643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月12日 09:10:35
下一篇 2025年11月12日 09:11:23

相关推荐

  • 火币安卓App版本_Huobi交易所安卓端登录入口

    火币安卓app的官方下载和登录入口可以通过其官方网站进行访问。用户需确保从正规渠道下载应用以保障账户安全。 Binance币安 欧易OKX ️ Huobi火币️ 如何下载火币安卓App 打开手机浏览器,直接搜索“火币官网”或访问其官方网址。在首页找到“App下载”区域,系统会自动识别设备并提供安卓版…

    2025年12月9日
    000
  • 必安交易所安卓版_必安官方App安装与注册流程

    必安(binance)作为全球主流的加密货币交易平台,其官方app为用户提供了便捷的交易入口。安卓用户若想安全地下载、安装并注册使用,关键在于认准官方渠道,并按步骤操作。整个过程不复杂,但每个环节都需要注意细节,以确保账户和资产的安全。 Binance币安 欧易OKX ️ Huobi火币️ 获取并安…

    2025年12月9日
    000
  • 欧意安卓手机App_OKX欧易移动端访问方式

    okx(原okex)的移动端app访问方式与在中国大陆地区的网络环境有关。由于政策原因,okx平台自2017年起已停止在中国大陆的运营和推广,其官网和app在中国大陆无法直接访问。 Binance币安 欧易OKX ️ Huobi火币️ 海外用户下载方式 如果你身处中国大陆以外的地区,可以直接通过以下…

    2025年12月9日
    000
  • 如何判断一个加密项目是不是骗局?记住这几点

    binance币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: 加密货币世界机遇与风险并存,骗局项目常利用投资者的信息差与致富心态进行欺诈。因此,在投入真金白银之前,学会识别这些项目的危险信号,是保护个人资产安全至关重要的第一步…

    2025年12月9日
    000
  • 比特币的创始人中本聪到底是谁?一个世纪之谜

    binance币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: 中本聪,这个神秘的名字是全球最知名加密货币——比特币的创造者。自2008年其发布比特币白皮书以来,其真实身份一直是科技界和金融界最大的谜团之一,引发了无数的猜测与调…

    2025年12月9日
    000
  • 简单说说比特币的“总量有限”是怎么回事

    binance币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: 比特币最核心的特征之一就是其总量的稀缺性。根据其匿名创始人中本聪的设计,比特币的总供给量被永久地限制在2100万枚,这个上限被写入了底层代码,无法被任何个人或组织篡…

    2025年12月9日
    000
  • 加密货币地址是什么?一串长长的代码代表什么

    binance币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: 加密货币地址,本质上是您在区块链网络上的“银行账号”。它是一串由字母和数字组成的独特标识符,专门用于接收加密资产。任何人都可以向这个地址发送代币,但只有拥有对应私钥…

    2025年12月9日
    000
  • 币安App官方下载渠道 币安最新版v3.6.6交易所注册指南

    币安app官方下载渠道在哪里?这是不少网友都关注的,接下来由php小编为大家带来币安app官方下载渠道及最新版v3.3.1交易所注册指南,感兴趣的网友一起随小编来瞧瞧吧! 币安官网入口: 币安最新版v3.6.6官方APP下载: 应用核心功能 1、提供全球主流加密货币的实时交易服务,用户可进行多种数字…

    2025年12月9日
    000
  • 币安官方网站(Binance) 币安最新版App v3.6.0下载链接

    币安官方网站(binance) 币安最新版app v3.6.0下载链接在哪里?这是不少网友都关注的,接下来由php小编为大家带来币安官方网站及app下载信息,感兴趣的网友一起随小编来瞧瞧吧! 币安官方网站入口: 币安最新版App v3.6.0下载链接: 1、平台提供多样化的数字资产交易选择,涵盖主流…

    2025年12月9日
    000
  • 币安(Binance)官网入口 币安官网App下载(官方)

    币安(binance)官网入口在哪里?这是不少网友都关注的,接下来由php小编为大家带来币安官网app下载及官方网站入口信息,感兴趣的网友一起随小编来瞧瞧吧! 币安(Binance)官网入口: 币安(官方)APP下载: 平台核心功能概览 1、提供涵盖现货、杠杆、合约在内的多元化交易模式,支持用户根据…

    2025年12月9日
    000
  • 币安交易所手机App下载 币安官方网站v3.6.0版本更新

    币安官方网站v3.6.0版本在哪更新?这是不少网友都关注的,接下来由php小编为大家带来币安交易所手机app下载及官网最新版本信息,感兴趣的网友一起随小编来瞧瞧吧! 币安官方网站入口: 币安交易所手机App v3.6.0下载: 平台核心功能集成 1、该平台集成了超过三百五十种加密货币的交易通道,用户…

    2025年12月9日
    000
  • 欧易App更新下载v6.146.0 OKX交易所最新版本官方获取

    欧易app更新下载v6.146.0版本在哪里获取?这是许多用户关心的问题,接下来由php小编为大家带来okx交易所最新版本官方下载地址及应用详情,感兴趣的用户请继续阅读了解。 欧易官网入口: OKX交易所最新版本官方APP v6.146.0下载: 平台核心功能 1、提供数字资产交易服务,涵盖多种主流…

    2025年12月9日
    000
  • 欧易官网下载2025最新版 欧易交易所手机App一键安装

    欧易官网下载2025最新版在哪里?这是不少网友都关注的,接下来由php小编为大家带来欧易交易所手机app一键安装方法,感兴趣的网友一起随小编来瞧瞧吧! 欧易交易所官网入口: 欧易官方2025最新版下载: 平台核心功能体验 1、提供多样化的交易工具,支持用户进行实时行情查看与分析,界面设计简洁直观,便…

    2025年12月9日
    000
  • 币安App最新版v3.7.0下载 币安交易所官网注册入口

    币安app最新版v3.7.0在哪下载?这是不少网友都关注的,接下来由php小编为大家带来币安app最新版v3.7.0下载链接和币安交易所官网注册入口,感兴趣的网友一起随小编来瞧瞧吧! 币安交易所官网注册入口: 币安App最新版v3.7.0下载: 1、平台提供超350种加密货币的交易选择,涵盖主流与新…

    2025年12月9日
    000
  • 欧易下载v6.146.0官方版 欧易OKX交易所App最新下载指南

    欧易下载v6.146.0官方版在哪里?这是不少网友都关注的,接下来由php小编为大家带来欧易okx交易所app最新下载指南,感兴趣的网友一起随小编来瞧瞧吧! 欧易OKX交易所官网入口: 欧易v6.146.0官方版APP下载: 平台核心功能与服务 1、该平台提供全面的数字资产交易类型,涵盖现货、杠杆以…

    2025年12月9日
    000
  • OKX交易所下载最新版本v6.147.0 欧易App一键更新至最新

    okx交易所下载最新版本v6.147.0在哪里?这是不少网友都关注的,接下来由php小编为大家带来欧易app一键更新至最新版本的方法与入口地址,感兴趣的网友一起随小编来瞧瞧吧! 欧易OKX交易所官网入口: OKX交易所下载最新版本v6.147.0链接: 平台核心功能介绍 1、提供全球范围内的数字资产…

    2025年12月9日
    000
  • 火币交易所官网_Huobi官方网站访问及交易账户入口

    Binance币安 欧易OKX ️ Huobi火币️ 火币交易所已正式更名为HTX,其官方网站和账户入口也随之更新。用户需要访问新官网以进行注册、登录和交易。 HTX(原火币)官网地址 HTX的官方网站是 https://www.htx.com。这是目前唯一正确的官方访问入口。此前使用的huobi.…

    2025年12月9日
    000
  • 5分钟搞懂以太坊(ETH),它和比特币有什么不一样?

    binance币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: 以太坊(ETH)远不止是数字货币,它更像一台全球共享的“世界计算机”。与被誉为“数字黄金”的比特币相比,以太坊的目标是构建一个去中心化的互联网,两者从根源上就截然不…

    2025年12月9日
    000
  • 大白话解读“加密货币”四个字,它到底是什么货币?

    binance币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: “加密货币”并非传统意义上的货币,它是一种利用密码学原理来确保交易安全及控制交易单位创造的数字资产。它不依赖于特定的中央发行机构,而是通过去中心化的区块链技术进行发…

    2025年12月9日
    000
  • 币圈小白的第一堂课:风险管理和仓位控制

    binance币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: 欢迎来到币圈,在追逐财富梦想之前,我们必须先学会如何在市场中生存。对新手而言,最重要的不是预测行情,而是做好风险管理和仓位控制,这是保护您本金、实现长期盈利的基石。…

    2025年12月9日
    000

发表回复

登录后才能评论
关注微信