Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php jwt 登录

作者:〖掉望   发布日期:2026-02-01   浏览:575

JWT(JSON Web Token)是一种基于JSON的开放标准,用于在网络应用间传输声明。它可以被用来进行身份验证和授权。

以下是使用PHP实现JWT登录的基本步骤:

  1. 安装依赖:使用Composer安装以下依赖库:

    composer require firebase/php-jwt
  2. 创建JWT Token:

    
    use Firebase\JWT\JWT;

// 设置JWT的密钥 $secretKey = "your_secret_key";

// 设置JWT的有效期 $expirationTime = time() + 3600; // 有效期为1小时

// 设置JWT的payload(声明) $payload = array( "user_id" => 123, "username" => "john.doe" );

// 生成JWT Token $jwt = JWT::encode($payload, $secretKey);


3. 验证JWT Token:
```php
use Firebase\JWT\JWT;

// 设置JWT的密钥
$secretKey = "your_secret_key";

// 获取从客户端传递的JWT Token
$jwtFromClient = $_SERVER['HTTP_AUTHORIZATION'];

try {
    // 验证JWT Token
    $decoded = JWT::decode($jwtFromClient, $secretKey, array('HS256'));

    // 获取解码后的payload(声明)
    $user_id = $decoded->user_id;
    $username = $decoded->username;

    // 进行登录逻辑处理
    // ...

    // 返回登录成功的响应
    echo json_encode(array("message" => "Login successful"));
} catch (Exception $e) {
    // JWT验证失败
    http_response_code(401);
    echo json_encode(array("message" => "Invalid token"));
}

在客户端,你可以将生成的JWT Token存储在本地(如LocalStorage)或者在每次请求时通过HTTP头部(如Authorization头)发送给服务器。服务器端通过验证JWT Token中的声明来实现登录认证。

以上是一个简单的JWT登录示例,你可以根据自己的需求进行扩展和修改。

上一篇:php在 amp $a

下一篇:php 验证码随机池

大家都在看

php session用法

php 定义常量

php soapclient

phpisset函数

php html转图片

php后端

php爬虫框架

php多线程与并发

php读取csv文件

php+mysql动态网站开发

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站