日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

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

發布時間:2024/7/23 php 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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...的全部內容,希望文章能夠幫你解決所遇到的問題。

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