Enhance environment variable processing in EntryConfig
- Added functionality to process SuccessURL, FailureURL, and LogoutRedirect fields in EntryConfig for environment variable substitution. - Implemented checks to ensure that referenced environment variables exist, collecting any missing variables for further handling. - Improved overall configuration handling by ensuring URLs are properly replaced with their corresponding environment variable values.
This commit is contained in:
parent
7bbd0d08ca
commit
3b26873d56
1 changed files with 25 additions and 0 deletions
|
|
@ -567,6 +567,31 @@ func processEntryConfigENVVariables(config *EntryConfig) {
|
|||
}
|
||||
config.ClientSecret = replaceENVVar(config.ClientSecret)
|
||||
|
||||
// Process URL configurations
|
||||
if strings.HasPrefix(config.SuccessURL, "$ENV.") {
|
||||
envVar := strings.TrimPrefix(config.SuccessURL, "$ENV.")
|
||||
if _, exists := os.LookupEnv(envVar); !exists {
|
||||
missingEnvVars = append(missingEnvVars, envVar)
|
||||
}
|
||||
}
|
||||
config.SuccessURL = replaceENVVar(config.SuccessURL)
|
||||
|
||||
if strings.HasPrefix(config.FailureURL, "$ENV.") {
|
||||
envVar := strings.TrimPrefix(config.FailureURL, "$ENV.")
|
||||
if _, exists := os.LookupEnv(envVar); !exists {
|
||||
missingEnvVars = append(missingEnvVars, envVar)
|
||||
}
|
||||
}
|
||||
config.FailureURL = replaceENVVar(config.FailureURL)
|
||||
|
||||
if strings.HasPrefix(config.LogoutRedirect, "$ENV.") {
|
||||
envVar := strings.TrimPrefix(config.LogoutRedirect, "$ENV.")
|
||||
if _, exists := os.LookupEnv(envVar); !exists {
|
||||
missingEnvVars = append(missingEnvVars, envVar)
|
||||
}
|
||||
}
|
||||
config.LogoutRedirect = replaceENVVar(config.LogoutRedirect)
|
||||
|
||||
// Process form configuration
|
||||
formMissingVars := processFormConfigENVVariables(config.Form)
|
||||
missingEnvVars = append(missingEnvVars, formMissingVars...)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue