Skip to content

Commit c86d19e

Browse files
committed
Add Validation for External OAuth Config
1 parent 7eb0634 commit c86d19e

File tree

1 file changed

+10
-0
lines changed
  • pkg/cmd/server/apis/config/validation

1 file changed

+10
-0
lines changed

pkg/cmd/server/apis/config/validation/master.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
2626
"github.com/openshift/origin/pkg/cmd/server/bootstrappolicy"
2727
"github.com/openshift/origin/pkg/cmd/server/cm"
28+
oauthutil "github.com/openshift/origin/pkg/oauth/util"
2829
"github.com/openshift/origin/pkg/security/mcs"
2930
"github.com/openshift/origin/pkg/security/uid"
3031
"github.com/openshift/origin/pkg/util/labelselector"
@@ -144,6 +145,15 @@ func ValidateMasterConfig(config *configapi.MasterConfig, fldPath *field.Path) V
144145
if config.OAuthConfig != nil {
145146
validationResults.Append(ValidateOAuthConfig(config.OAuthConfig, fldPath.Child("oauthConfig")))
146147
}
148+
if config.ExternalOAuthConfig != nil {
149+
if config.OAuthConfig != nil {
150+
validationResults.AddErrors(field.Invalid(fldPath.Child("externalOAuthConfig"), config.ExternalOAuthConfig, "Cannot specify External OAuth Config when the internal Oauth Server is configured"))
151+
}
152+
_, err := oauthutil.DecodeOAuthMetadataFile(config.ExternalOAuthConfig.MetadataFile)
153+
if err != nil {
154+
validationResults.AddErrors(field.Invalid(fldPath.Child("externalOAuthConfig", "metadataFile"), config.ExternalOAuthConfig.MetadataFile, fmt.Sprintf("Metadata validation failed: %v", err)))
155+
}
156+
}
147157

148158
validationResults.Append(ValidateServiceAccountConfig(config.ServiceAccountConfig, builtInKubernetes, fldPath.Child("serviceAccountConfig")))
149159

0 commit comments

Comments
 (0)