日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

php oauth2 和 jwt,jwt-auth: thinkphp 的 jwt (JSON Web Token)身份验证扩展包,支持Swoole...

發布時間:2024/7/23 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php oauth2 和 jwt,jwt-auth: thinkphp 的 jwt (JSON Web Token)身份验证扩展包,支持Swoole... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JWT-AUTH

thinkphp的jwt(JSON Web Token)身份驗證包。支持Header、Cookie、Param等多種傳參方式。包含:驗證、驗證并且自動刷新等多種中間件。

支持Swoole

環境要求

php >= 7.0

thinkphp ^5.1.10 || ^6.0.0

說明

目前支持如下三大類型加密方式:RSA,HASH,DSA。再各分256、384、512位。

默認是HS256,即hash 256位加密。

需要修改加密方式,請修改參數:ALGO,參數選項:

HS256

備注:hash 256位

HS384

備注:hash 384位

HS512

備注:hash 512位

RS256

備注:rsa 256位

RS384

備注:rsa 384位

RS512

備注:rsa 512位

ES256

備注:dsa 256位

ES384

備注:dsa 384位

ES512

備注:dsa 512位

重要:RSA和DSA 都是非對稱加密方式,除了修改參數ALGO外,需要配置:PUBLIC_KEY、PRIVATE_KEY兩個參數,

這兩個參數支持文本(不要開頭、結尾和換行)或密鑰文件路徑。如果密鑰設置了密碼,請配置好參數:PASSWORD

env文件不支持內容有等于號,遇到這種情況:

1、使用路徑 2、生成沒有等于號的密鑰。

安裝

第一步:

$composer require thans/tp-jwt-auth

第二步:

$php think jwt:create

此舉將生成jwt.php和.env配置文件。不推薦直接修改jwt.php

同時,env中會隨機生成secret。請不要隨意更新secret,也請保障secret安全。

使用方式

對于需要驗證的路由或者模塊添加中間件:

thans\jwt\middleware\JWTAuth::class,

示例:

use thans\jwt\facade\JWTAuth;

$token = JWTAuth::builder(['uid' => 1]);//參數為用戶認證的信息,請自行添加

JWTAuth::auth();//token驗證

JWTAuth::refresh();//刷新token,會將舊token加入黑名單

token刷新說明:

token默認有效期為60秒,如果需要修改請修改env文件。

refresh_ttl為刷新token有效期參數,單位為分鐘。默認有效期14天。

token過期后,舊token將會被加入黑名單。

如果需要自動刷新,請使用中間件 thans\jwt\middleware\JWTAuthAndRefresh::class,

自動刷新后會通過header返回,請保存好。(注意,此中間件過期后第一次訪問正常,第二次進入黑名單。)

token傳參方式如下:

將token加入到url中作為參數。鍵名為token

將token加入到cookie。鍵名為token

將token加入header,如下:Authorization:bearer token值

以上三種方式,任選其一即可。推薦加入header中。

其他操作

拉黑Token JWTAuth::invalidate($token);

查詢Token是否黑名單 JWTAuth::validate($token);

常見問題

使用RSA256方式的時候,請使用文本形式。如下:

聯系&打賞

參考與借鑒

感謝

jwt-auth

php

lcobucci/jwt

thinkphp

下一步

支持動態配置

License

MIT

總結

以上是生活随笔為你收集整理的php oauth2 和 jwt,jwt-auth: thinkphp 的 jwt (JSON Web Token)身份验证扩展包,支持Swoole...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。