diff --git a/cmd/dex/serve.go b/cmd/dex/serve.go
index 6aad2d925e2c8ca5b6a6dd471748636a9678078f..e218e4732c90b6ff8c801aa2b71a00818e73aed7 100644
--- a/cmd/dex/serve.go
+++ b/cmd/dex/serve.go
@@ -113,6 +113,9 @@ func serve(cmd *cobra.Command, args []string) error {
 
 	connectors := make([]server.Connector, len(c.Connectors))
 	for i, conn := range c.Connectors {
+		if conn.ID == "" {
+			return fmt.Errorf("no ID field for connector %d", i)
+		}
 		if conn.Config == nil {
 			return fmt.Errorf("no config field for connector %q", conn.ID)
 		}