From a447d64bf217d260eb28d7112c167549467cc9c2 Mon Sep 17 00:00:00 2001 From: Taoning Ge Date: Sat, 24 Sep 2022 15:34:11 +0800 Subject: [PATCH] fix: openid address format (#1157) --- object/token_jwt.go | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/object/token_jwt.go b/object/token_jwt.go index 07a13003..f5347717 100644 --- a/object/token_jwt.go +++ b/object/token_jwt.go @@ -16,6 +16,7 @@ package object import ( "fmt" + "strings" "time" "github.com/casdoor/casdoor/util" @@ -24,12 +25,17 @@ import ( type Claims struct { *User - Nonce string `json:"nonce,omitempty"` - Tag string `json:"tag,omitempty"` - Scope string `json:"scope,omitempty"` + Address Address `json:"address"` + Nonce string `json:"nonce,omitempty"` + Tag string `json:"tag,omitempty"` + Scope string `json:"scope,omitempty"` jwt.RegisteredClaims } +type Address struct { + Formatted string `json:"formatted"` +} + type UserShort struct { Owner string `xorm:"varchar(100) notnull pk" json:"owner"` Name string `xorm:"varchar(100) notnull pk" json:"name"` @@ -72,8 +78,9 @@ func generateJwtToken(application *Application, user *User, nonce string, scope jti := fmt.Sprintf("%s/%s", application.Owner, name) claims := Claims{ - User: user, - Nonce: nonce, + User: user, + Address: Address{Formatted: strings.Join(user.Address, ",")}, + Nonce: nonce, // FIXME: A workaround for custom claim by reusing `tag` in user info Tag: user.Tag, Scope: scope,