1
0
mirror of https://github.com/oauth2-proxy/oauth2-proxy.git synced 2025-08-08 22:46:33 +02:00

Make claims list of strings

This commit is contained in:
Joel Speed
2020-10-03 18:57:25 +01:00
parent c9b3422801
commit 70990327d1
2 changed files with 33 additions and 26 deletions

View File

@ -85,28 +85,34 @@ func newClaimInjector(name string, source *options.ClaimSource) (valueInjector,
return nil, fmt.Errorf("error loading basicAuthPassword: %v", err)
}
return newInjectorFunc(func(header http.Header, session *sessionsapi.SessionState) {
claim := session.GetClaim(source.Claim)
if claim == "" {
return
claimValues := session.GetClaim(source.Claim)
for _, claim := range claimValues {
if claim == "" {
continue
}
auth := claim + ":" + string(password)
header.Add(name, "Basic "+base64.StdEncoding.EncodeToString([]byte(auth)))
}
auth := claim + ":" + string(password)
header.Add(name, "Basic "+base64.StdEncoding.EncodeToString([]byte(auth)))
}), nil
case source.Prefix != "":
return newInjectorFunc(func(header http.Header, session *sessionsapi.SessionState) {
claim := session.GetClaim(source.Claim)
if claim == "" {
return
claimValues := session.GetClaim(source.Claim)
for _, claim := range claimValues {
if claim == "" {
continue
}
header.Add(name, source.Prefix+claim)
}
header.Add(name, source.Prefix+claim)
}), nil
default:
return newInjectorFunc(func(header http.Header, session *sessionsapi.SessionState) {
claim := session.GetClaim(source.Claim)
if claim == "" {
return
claimValues := session.GetClaim(source.Claim)
for _, claim := range claimValues {
if claim == "" {
continue
}
header.Add(name, claim)
}
header.Add(name, claim)
}), nil
}
}