完善cookie模式

This commit is contained in:
piexlMax
2024-01-04 22:15:41 +08:00
parent 8aefb5db8e
commit 08617f2fd4
7 changed files with 40 additions and 31 deletions

View File

@@ -4,6 +4,7 @@ import (
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
"github.com/flipped-aurora/gin-vue-admin/server/model/system"
"github.com/flipped-aurora/gin-vue-admin/server/utils"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
@@ -19,10 +20,7 @@ type JwtApi struct{}
// @Success 200 {object} response.Response{msg=string} "jwt加入黑名单"
// @Router /jwt/jsonInBlacklist [post]
func (j *JwtApi) JsonInBlacklist(c *gin.Context) {
token, _ := c.Cookie("x-token")
if token == "" {
token = c.Request.Header.Get("x-token")
}
token := utils.GetToken(c)
jwt := system.JwtBlacklist{Jwt: token}
err := jwtService.JsonInBlacklist(jwt)
if err != nil {
@@ -30,5 +28,6 @@ func (j *JwtApi) JsonInBlacklist(c *gin.Context) {
response.FailWithMessage("jwt作废失败", c)
return
}
utils.ClearToken(c)
response.OkWithMessage("jwt作废成功", c)
}

View File

@@ -1,7 +1,6 @@
package system
import (
"net"
"strconv"
"time"
@@ -75,15 +74,6 @@ func (b *BaseApi) Login(c *gin.Context) {
response.FailWithMessage("验证码错误", c)
}
func (b *BaseApi) SetCookie(c *gin.Context, token string, claims systemReq.CustomClaims) {
// 增加cookie x-token 向来源的web添加
host, _, err := net.SplitHostPort(c.Request.Host)
if err != nil {
host = c.Request.Host
}
c.SetCookie("x-token", token, int(claims.RegisteredClaims.ExpiresAt.Unix()-time.Now().Unix()), "/", host, false, true)
}
// TokenNext 登录以后签发jwt
func (b *BaseApi) TokenNext(c *gin.Context, user system.SysUser) {
j := &utils.JWT{SigningKey: []byte(global.GVA_CONFIG.JWT.SigningKey)} // 唯一签名
@@ -101,7 +91,7 @@ func (b *BaseApi) TokenNext(c *gin.Context, user system.SysUser) {
return
}
if !global.GVA_CONFIG.System.UseMultipoint {
b.SetCookie(c, token, claims)
utils.SetToken(c, token, int(claims.RegisteredClaims.ExpiresAt.Unix()-time.Now().Unix()))
response.OkWithDetailed(systemRes.LoginResponse{
User: user,
Token: token,
@@ -116,7 +106,7 @@ func (b *BaseApi) TokenNext(c *gin.Context, user system.SysUser) {
response.FailWithMessage("设置登录状态失败", c)
return
}
b.SetCookie(c, token, claims)
utils.SetToken(c, token, int(claims.RegisteredClaims.ExpiresAt.Unix()-time.Now().Unix()))
response.OkWithDetailed(systemRes.LoginResponse{
User: user,
Token: token,
@@ -136,7 +126,7 @@ func (b *BaseApi) TokenNext(c *gin.Context, user system.SysUser) {
response.FailWithMessage("设置登录状态失败", c)
return
}
b.SetCookie(c, token, claims)
utils.SetToken(c, token, int(claims.RegisteredClaims.ExpiresAt.Unix()-time.Now().Unix()))
response.OkWithDetailed(systemRes.LoginResponse{
User: user,
Token: token,