mirror of
https://github.com/casdoor/casdoor.git
synced 2025-07-04 05:10:19 +08:00
Use User in Claims.
This commit is contained in:
@ -23,18 +23,7 @@ import (
|
|||||||
var jwtSecret = []byte("CasdoorSecret")
|
var jwtSecret = []byte("CasdoorSecret")
|
||||||
|
|
||||||
type Claims struct {
|
type Claims struct {
|
||||||
Organization string `json:"organization"`
|
User
|
||||||
Username string `json:"username"`
|
|
||||||
Type string `json:"type"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
Avatar string `json:"avatar"`
|
|
||||||
Email string `json:"email"`
|
|
||||||
Phone string `json:"phone"`
|
|
||||||
Affiliation string `json:"affiliation"`
|
|
||||||
Tag string `json:"tag"`
|
|
||||||
Language string `json:"language"`
|
|
||||||
Score int `json:"score"`
|
|
||||||
IsAdmin bool `json:"isAdmin"`
|
|
||||||
jwt.StandardClaims
|
jwt.StandardClaims
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,18 +32,7 @@ func generateJwtToken(application *Application, user *User) (string, error) {
|
|||||||
expireTime := nowTime.Add(time.Duration(application.ExpireInHours) * time.Hour)
|
expireTime := nowTime.Add(time.Duration(application.ExpireInHours) * time.Hour)
|
||||||
|
|
||||||
claims := Claims{
|
claims := Claims{
|
||||||
Organization: user.Owner,
|
User: *user,
|
||||||
Username: user.Name,
|
|
||||||
Type: user.Type,
|
|
||||||
Name: user.DisplayName,
|
|
||||||
Avatar: user.Avatar,
|
|
||||||
Email: user.Email,
|
|
||||||
Phone: user.Phone,
|
|
||||||
Affiliation: user.Affiliation,
|
|
||||||
Tag: user.Tag,
|
|
||||||
Language: user.Language,
|
|
||||||
Score: user.Score,
|
|
||||||
IsAdmin: user.IsAdmin,
|
|
||||||
StandardClaims: jwt.StandardClaims{
|
StandardClaims: jwt.StandardClaims{
|
||||||
Audience: application.ClientId,
|
Audience: application.ClientId,
|
||||||
ExpiresAt: expireTime.Unix(),
|
ExpiresAt: expireTime.Unix(),
|
||||||
|
@ -73,7 +73,7 @@ func AutoSigninFilter(ctx *context.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
userId := fmt.Sprintf("%s/%s", claims.Organization, claims.Username)
|
userId := fmt.Sprintf("%s/%s", claims.User.Owner, claims.User.Name)
|
||||||
setSessionUser(ctx, userId)
|
setSessionUser(ctx, userId)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user