forked from baron/baron-sso
org chart 자동로그인 보완. seed-tenant 삭제불가 조치
This commit is contained in:
@@ -7420,6 +7420,9 @@ func resolveLinkedRPAutoLoginSupported(clientID string, metadata map[string]inte
|
||||
func resolveLinkedRPAutoLoginURL(clientID string, metadata map[string]interface{}) string {
|
||||
clientID = strings.TrimSpace(clientID)
|
||||
if metadataURL := readMetadataStringValue(metadata, domain.MetadataAutoLoginURL); metadataURL != "" {
|
||||
if clientID == "orgfront" {
|
||||
return ensureOrgfrontAutoLoginURL(metadataURL)
|
||||
}
|
||||
return metadataURL
|
||||
}
|
||||
|
||||
@@ -7434,13 +7437,29 @@ func resolveLinkedRPAutoLoginURL(clientID string, metadata map[string]interface{
|
||||
}
|
||||
case "orgfront":
|
||||
if value := strings.TrimRight(strings.TrimSpace(os.Getenv("ORGFRONT_URL")), "/"); value != "" {
|
||||
return value + "/login"
|
||||
return value + "/login?auto=1"
|
||||
}
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
func ensureOrgfrontAutoLoginURL(rawURL string) string {
|
||||
parsed, err := url.Parse(rawURL)
|
||||
if err != nil {
|
||||
return rawURL
|
||||
}
|
||||
if strings.TrimRight(parsed.Path, "/") != "/login" {
|
||||
return rawURL
|
||||
}
|
||||
query := parsed.Query()
|
||||
if query.Get("auto") != "1" {
|
||||
query.Set("auto", "1")
|
||||
parsed.RawQuery = query.Encode()
|
||||
}
|
||||
return parsed.String()
|
||||
}
|
||||
|
||||
func resolveLinkedRPInitURL(clientID string, metadata map[string]interface{}) string {
|
||||
if !resolveLinkedRPAutoLoginSupported(clientID, metadata) {
|
||||
return ""
|
||||
|
||||
Reference in New Issue
Block a user