ThinkPHP6集成JWT方法生成及销毁

这篇博客介绍了如何在ThinkPHP6中集成JWT(JSON Web Tokens)进行用户身份验证。主要内容包括引入php-jwt库,创建JWT控制器,阐述基于token的用户认证流程,讲解在微信小程序中添加token的方法,并提供了ThinkPHP6中使用JWT的中间件验证、修改.htaccess文件以处理Authorization字段,以及前端存储和销毁token的步骤。
摘要由CSDN通过智能技术生成

1.引入php-jwt包

composer require firebase/php-jwt

2.代码
控制器文件:app\business\Jwt.php

<?php
namespace app\busines;

use Firebase\JWT\JWT;
use Firebase\JWT\Key;


class JWT
{
    public function add(){
       //根据需要修改成你的密钥
        $key = "example_key";
        //加密数据,可以自定义删减
        $payload = array(
        "iss" => "http://example.org",
        "aud" => "http://example.com",
        "iat" => 1356999524,
        "nbf" => 1357000000,
        "uid" => $uid
      );
 
        /**
        * IMPORTANT:
        * You must specify supported algorithms for your application. See
        * https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40
        * for a list of spec-compliant algorithms.
        */
        $jwt = JWT::encode($payload, $key, 'HS256');
        return $jwt;
        $decoded = JWT::decode($jwt, new Key($key, 'HS256'));
        
        //可不用
        print_r($decoded);
 
        $decoded_array = (array) $decoded;

    }
}

在微信小程序中使用jwt--token

基于token(令牌)的用户认证步骤:

1、用户输入其登录信息
2、服务器验证信息是否正确,并返回已签名的token
3、token储在客户端,例如存在local storage或cookie中(小程序存在缓存中)
4、之后的HTTP请求都将token添加到请求头里
 

//从缓存中取出token
const token = wx.getStorageSync('token')
 wx.request({
      url: '',
      data:{
 
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值