in auth/provider_config.go [567:610]
func (config *SAMLProviderConfigToUpdate) buildRequest() (nestedMap, error) {
if len(config.params) == 0 {
return nil, errors.New("no parameters specified in the update request")
}
if val, ok := config.params.GetString(idpEntityIDKey); ok && val == "" {
return nil, errors.New("IDPEntityID must not be empty")
}
if val, ok := config.params.GetString(ssoURLKey); ok {
if val == "" {
return nil, errors.New("SSOURL must not be empty")
}
if _, err := url.ParseRequestURI(val); err != nil {
return nil, fmt.Errorf("failed to parse SSOURL: %v", err)
}
}
if val, ok := config.params.Get(idpCertsKey); ok {
if len(val.([]idpCertificate)) == 0 {
return nil, errors.New("X509Certificates must not be empty")
}
for _, cert := range val.([]idpCertificate) {
if cert.X509Certificate == "" {
return nil, errors.New("X509Certificates must not contain empty strings")
}
}
}
if val, ok := config.params.GetString(spEntityIDKey); ok && val == "" {
return nil, errors.New("RPEntityID must not be empty")
}
if val, ok := config.params.GetString(callbackURIKey); ok {
if val == "" {
return nil, errors.New("CallbackURL must not be empty")
}
if _, err := url.ParseRequestURI(val); err != nil {
return nil, fmt.Errorf("failed to parse CallbackURL: %v", err)
}
}
return config.params, nil
}