Skip to content

Commit 87ae835

Browse files
committed
handle array claims
Signed-off-by: Robert Landers <landers.robert@gmail.com>
1 parent b6c8c5c commit 87ae835

2 files changed

Lines changed: 7 additions & 4 deletions

File tree

cli/auth/keys.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ func ExtractUser(r *http.Request, config *config.Config) (user *User, ok bool) {
114114
// The token is signed using the active secret key from the config.
115115
// The token will expire in 72 hours and is valid starting from 5 minutes ago.
116116
// Returns the signed token string or an error if the signing process fails.
117-
func CreateUser(userId UserId, role []Role, claims map[string]string, config *config.Config) (string, error) {
117+
func CreateUser(userId UserId, role []Role, claims map[string]interface{}, config *config.Config) (string, error) {
118118
claimMap := jwt.MapClaims{
119119
"sub": userId,
120120
"exp": time.Now().Add(72 * time.Hour).Unix(),
@@ -125,7 +125,6 @@ func CreateUser(userId UserId, role []Role, claims map[string]string, config *co
125125

126126
for k, v := range claims {
127127
k = strings.TrimSpace(k)
128-
v = strings.TrimSpace(v)
129128
claimMap[k] = v
130129
}
131130

cli/cli.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -548,15 +548,19 @@ func main() {
548548
rol = append(rol, auth.Role(role))
549549
}
550550

551-
extraClaims := make(map[string]string)
551+
extraClaims := make(map[string]interface{})
552552
if options["claims"] != "" {
553553
claims := strings.Split(options["claims"], ";")
554554
for _, claim := range claims {
555555
kv := strings.Split(claim, ":")
556556
if len(kv) != 2 {
557557
panic(fmt.Errorf("invalid claim: %s", claim))
558558
}
559-
extraClaims[kv[0]] = kv[1]
559+
if strings.Contains(kv[1], ",") {
560+
extraClaims[kv[0]] = strings.Split(strings.TrimSpace(kv[1]), ",")
561+
} else {
562+
extraClaims[kv[0]] = strings.TrimSpace(kv[1])
563+
}
560564
}
561565
}
562566

0 commit comments

Comments
 (0)