@@ -20,7 +20,6 @@ import (
2020 "os"
2121 "os/exec"
2222 "path/filepath"
23- "strings"
2423
2524 "github.com/ibm-messaging/mq-container/internal/copy"
2625 "github.com/ibm-messaging/mq-container/internal/mqtemplate"
@@ -61,84 +60,19 @@ func startWebServer(webKeystore, webkeystorePW, webTruststoreRef string) error {
6160 return nil
6261}
6362
64- func configureSSO (p12TrustStore tls.KeyStoreData , webKeystore string ) (string , error ) {
65- requiredEnvVars := []string {}
66- _ , set := os .LookupEnv ("MQ_ZEN_INTERNAL_ENDPOINT" )
67- if ! set {
68- // Ensure all required environment variables are set for SSO
69- requiredEnvVars = []string {
70- "MQ_OIDC_CLIENT_ID" ,
71- "MQ_OIDC_CLIENT_SECRET" ,
72- "MQ_OIDC_UNIQUE_USER_IDENTIFIER" ,
73- "MQ_OIDC_AUTHORIZATION_ENDPOINT" ,
74- "MQ_OIDC_TOKEN_ENDPOINT" ,
75- "MQ_OIDC_JWK_ENDPOINT" ,
76- "MQ_OIDC_ISSUER_IDENTIFIER" ,
77- }
78- } else {
79- // Ensure all required environment variables are set for Zen SSO
80- requiredEnvVars = []string {
81- "MQ_ZEN_UNIQUE_USER_IDENTIFIER" ,
82- "MQ_ZEN_INTERNAL_ENDPOINT" ,
83- "MQ_ZEN_ISSUER_IDENTIFIER" ,
84- "MQ_ZEN_AUDIENCES" ,
85- "MQ_ZEN_CONTEXT_NAME" ,
86- "MQ_ZEN_BASE_URI" ,
87- "MQ_ZEN_CONTEXT_NAMESPACE" ,
88- "IAM_URL" ,
89- }
90- }
91- for _ , envVar := range requiredEnvVars {
92- if len (os .Getenv (envVar )) == 0 {
93- return "" , fmt .Errorf ("%v must be set when MQ_BETA_ENABLE_SSO=true" , envVar )
94- }
95- }
96-
97- // Check mqweb directory exists
98- const mqwebDir string = "/etc/mqm/web/installations/Installation1/servers/mqweb"
99- _ , err := os .Stat (mqwebDir )
100- if err != nil {
101- if os .IsNotExist (err ) {
102- return "" , nil
103- }
104- return "" , err
105- }
106-
107- const mqwebuserLink string = "/run/mqwebuser.xml"
108- const mqwebuserTemplate string = mqwebDir + "/mqwebuser.xml.tpl"
109-
110- // Process SSO template for generating file mqwebuser.xml
111- adminUsers := strings .Split (os .Getenv ("MQ_WEB_ADMIN_USERS" ), "\n " )
112- err = mqtemplate .ProcessTemplateFile (mqwebuserTemplate , mqwebuserLink , map [string ][]string {"AdminUser" : adminUsers }, log )
113- if err != nil {
114- return "" , err
115- }
116-
117- // Configure SSO TLS
118- return tls .ConfigureWebKeystore (p12TrustStore , webKeystore )
119- }
120-
12163func configureWebServer (keyLabel string , p12Truststore tls.KeyStoreData ) (string , error ) {
122- var webKeystore string
12364
124- // Configure TLS for Web Console first if we have a certificate to use
65+ webKeystore := ""
66+
67+ // Configure TLS for the Web Console
12568 err := tls .ConfigureWebTLS (keyLabel , log )
12669 if err != nil {
12770 return "" , err
12871 }
129- if keyLabel != "" {
130- webKeystore = keyLabel + ".p12"
131- }
13272
133- // Configure Single-Sign-On for the web server (if enabled)
134- enableSSO := os .Getenv ("MQ_BETA_ENABLE_SSO" )
135- if enableSSO == "true" || enableSSO == "1" {
136- webKeystore , err = configureSSO (p12Truststore , webKeystore )
137- if err != nil {
138- return "" , err
139- }
140- } else if keyLabel == "" && os .Getenv ("MQ_GENERATE_CERTIFICATE_HOSTNAME" ) != "" {
141- webKeystore , err = tls .ConfigureWebKeystore (p12Truststore , webKeystore )
73+ // Configure the Web Keystore
74+ if keyLabel != "" || os .Getenv ("MQ_GENERATE_CERTIFICATE_HOSTNAME" ) != "" {
75+ webKeystore , err = tls .ConfigureWebKeystore (p12Truststore , keyLabel )
14276 if err != nil {
14377 return "" , err
14478 }
0 commit comments