ソースを参照

Fix logic error

Mike Kaminski 7 年 前
コミット
8b2f41e740
1 ファイル変更6 行追加2 行削除
  1. 6 2
      broker.go

+ 6 - 2
broker.go

@@ -944,9 +944,13 @@ func buildClientInitialResponse(bearerToken string, extensions map[string]string
 		return []byte{}, fmt.Errorf("The extension `%s` is invalid", SASLExtKeyAuth)
 	}
 
-	extensions[SASLExtKeyAuth] = "Bearer " + bearerToken
+	ext := ""
 
-	resp := []byte(fmt.Sprintf("n,,\x01%s\x01\x01", mapToString(extensions, "=", "\x01")))
+	if len(extensions) > 0 {
+		ext = "\x01" + mapToString(extensions, "=", "\x01")
+	}
+
+	resp := []byte(fmt.Sprintf("n,,\x01auth=Bearer %s%s\x01\x01", bearerToken, ext))
 
 	return resp, nil
 }