fix: use slice for oidc prompt parsing and checking

This commit is contained in:
Stavros
2026-06-19 13:42:09 +03:00
parent 32e899e77e
commit b6f6303d1f
2 changed files with 17 additions and 11 deletions
+9 -8
View File
@@ -947,19 +947,20 @@ func (service *OIDCService) DecodeAuthorizeJWT(tokenString string) (*AuthorizeRe
}, nil
}
// Return the first prompt in the list of prompts, or an empty string if no prompt is specified
func (service *OIDCService) GetPrompt(prompt string) OIDCPrompt {
func (service *OIDCService) GetPrompt(prompt string) []OIDCPrompt {
if prompt == "" {
return ""
return []OIDCPrompt{}
}
prompts := strings.Split(prompt, " ")
parsedPromps := make([]OIDCPrompt, 0)
prompts := strings.SplitSeq(prompt, " ")
for _, p := range prompts {
if slices.Contains(SupportedPrompts, p) {
return OIDCPrompt(p)
for p := range prompts {
if !slices.Contains(SupportedPrompts, p) {
continue
}
parsedPromps = append(parsedPromps, OIDCPrompt(p))
}
return ""
return parsedPromps
}