fix: adjust the accessToken field (#378)

* fix: adjust the accessToken field

Signed-off-by: 0x2a <stevesough@gmail.com>

* fix: missing name and owner

Signed-off-by: 0x2a <stevesough@gmail.com>
This commit is contained in:
Steve0x2a 2021-12-18 20:19:38 +08:00 committed by GitHub
parent 755d912f61
commit 00f06930ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -30,7 +30,9 @@ var tokenJwtPublicKey string
var tokenJwtPrivateKey string
type Claims struct {
User
*User
Name string `json:"name,omitempty"`
Owner string `json:"owner,omitempty"`
Nonce string `json:"nonce,omitempty"`
jwt.RegisteredClaims
}
@ -43,7 +45,7 @@ func generateJwtToken(application *Application, user *User, nonce string) (strin
user.Password = ""
claims := Claims{
User: *user,
User: user,
Nonce: nonce,
RegisteredClaims: jwt.RegisteredClaims{
Issuer: beego.AppConfig.String("origin"),
@ -55,10 +57,12 @@ func generateJwtToken(application *Application, user *User, nonce string) (strin
ID: "",
},
}
//all fields of the User struct are not added in "JWT-Empty" format
if application.TokenFormat == "JWT-Empty" {
claims.User = User{}
claims.User = nil
}
claims.Name = user.Name
claims.Owner = user.Owner
token := jwt.NewWithClaims(jwt.SigningMethodRS256, claims)
claims.ExpiresAt = jwt.NewNumericDate(refreshExpireTime)