code: func (s *IdentityService) GetSAMLConnector(name string, withSecrets bool) (services.SAMLConnector, error) {
  	if name == "" {
  		return nil, trace.BadParameter("missing parameter name")
  	}
  	item, err := s.Get(context.TODO(), backend.Key(webPrefix, connectorsPrefix, samlPrefix, connectorsPrefix, name))
  	if err != nil {
  		if trace.IsNotFound(err) {
  			return nil, trace.NotFound("SAML connector %q is not configured", name)
  		}
  		return nil, trace.Wrap(err)
  	}
  	conn, err := services.GetSAMLConnectorMarshaler().UnmarshalSAMLConnector(
  		item.Value, services.WithExpires(item.Expires))
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  	if !withSecrets {
  		keyPair := conn.GetSigningKeyPair()
  		if keyPair != nil {
  			keyPair.PrivateKey = ""
  			conn.SetSigningKeyPair(keyPair)
  		}
  	}
  	return conn, nil
  }
docs: // GetSAMLConnector returns SAML connector data,
  // withSecrets includes or excludes secrets from return results