hxhzyh/gp-jwt
最新稳定版本:1.0.0
Composer 安装命令:
composer require hxhzyh/gp-jwt
包简介
access-statistics
README 文档
README
安装
composer require hxhzyh/gp-jwt
介绍
jwt 通用于PHP语言和go语言的封装 go: go get github.com/dgrijalva/jwt-go 实例代码: 生成:
type Claims struct {
UserId uint
jwt.StandardClaims
}
claims := &Claims{
UserId: 1,
StandardClaims:jwt.StandardClaims{
//ExpiresAt: 1629167344,
Issuer: "hello",
//IssuedAt: 1629167344,
Subject: "user_token",
Id: "hdfsafdsag",
},
}
tokenObj := jwt.NewWithClaims(jwt.SigningMethodHS256,claims)
tokenString,_ := tokenObj.SignedString(secretKey)
解析:
//封装方法
func ParseToken(tokenString string) (*jwt.Token, *Claims, error) {
claims := &Claims{}
token,err := jwt.ParseWithClaims(tokenString,claims, func(token *jwt.Token) (interface{}, error) {
return jwtKey, nil
})
return token,claims,err
}
//调用
token, claims, err := common.ParseToken(tokenString)
if err != nil || !token.Valid {
common.Response(c,401,"登录已过期2", nil)
c.Abort() //抛弃这次请求
return
}
userId := claims.UserId
PHP:
composer require hxhzyh/gp-jwt
生成:
$jwtObj = Jwt::getInstance()->setSecretKey($secretkey)->publish();
$jwtObj->setUserId(1)->setIss('hello')->setSub('user_token')->setJti('suiji-jti');
$token = $jwtObj->getToken();
解析:
$jwtObj = Jwt::getInstance()->setSecretKey($secretkey)->decode($jwtToken);
dd($jwtObj, $jwtObj->getStatus(), $jwtObj->getUserId());
注:生成时,时间可自定义是否使用,传值则验证token是否过期,不传值,不认证,需自定义验证,例单点登录限制,需redis介入
依赖
统计信息
- 总下载量: 130
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-08-17