無法連接 X 到 n8n,持續登入迴圈

X 連接到 N8N 的問題

嘗試在我的工作流程中將 X 連接到 n8n 時遇到了一個相當令人沮喪的問題。在 https://console.x.com 上新增了正確的回呼 URL,並在 n8n 的認證憑證部分新增了用戶端 ID 和用戶端密鑰後,我點擊「連接到 X」。這會彈出下面的視窗。我選擇登入並輸入用戶名/密碼,然後選擇登入。接著我被導回到完全相同的頁面。回呼 URL 完全相同,我已清除快取,並嘗試在 Chrome 和 Firefox 上以及無痕視窗中進行。似乎沒有什麼能修復這個問題。

@Trigg_Williamson

你遇到的是「登入循環」問題,這發生在 X(Twitter)在你登入後無法識別你的工作階段時,它會直接把你送回開始頁面,而不是讓你授權 n8n。這通常是由於兩個平台之間的通訊故障或你開發者帳戶中的小設定錯誤造成的。

最快的解決方式是在嘗試連接前,在另一個瀏覽器分頁中登入 X。透過先開啟 x.com 並正常登入,你的瀏覽器會保持一個活躍的工作階段。當你之後回到 n8n 並點擊「連接」時,X 應該會看到你已經登入,並完全跳過登入畫面,直接帶你到授權頁面。

如果這不管用,問題可能出在你的應用程式在 X 開發人員入口網站中的分類方式。在你的「使用者身分驗證設定」下,試著改變「應用程式類型」。如果它設定為「Web 應用程式」,試著改成「原生應用程式」(或反過來)。不知道什麼原因,X 會根據這個設定以不同的方式處理登入交接,改變它通常能破解這個循環。

你也應該再次確認你的技術設定是完美的。確保你的應用程式權限設定為「讀取和寫入」而不只是「讀取」。最重要的是,確保 X 入口網站中的回呼 URL 與 n8n 提供的完全一致。即使只是一個微小的差異,像是結尾多了一個斜線,都可能導致 X 拒絕連接並把你循環回到登入畫面。

最後,檢查你的瀏覽器擴充功能。廣告阻擋器或隱私工具(像是 uBlock Origin 或 Brave 的防護)經常會阻擋 X 送回給 n8n 的「安全權杖」來證明你的身分。試著停用這些擴充功能或使用一個完全乾淨的瀏覽器視窗,以確保沒有任何東西干擾重新導向程序。

感謝你的深入回覆 @kjooleng 不過在試過所有這些方法後,我仍然遇到同樣的問題。

你還有其他建議嗎?

我使用的是 n8n 雲端版本。我嘗試了一遍,但似乎遇到了同樣的問題。

@Trigg_Williamson 歡迎來到 n8n 社群
能否請你分享 JSON 檔案但移除敏感資料?貼貼在這裡時請使用「</>」選項

歡迎 @Trigg_Williamson!既然你使用的是 n8n Cloud,你需要在 X Developer Portal 註冊的確切回調 URL 是 https://oauth.n8n.cloud/oauth2/callback - 確保在你的 X App 設定中的「重定向 URI」下新增了這個 URL。同時也要再次確認你的 X App 的「應用程式類型」是否設定為「Web App、Automated App 或 Bot」(不是 Native App),因為 PKCE 流程需要這個設定。如果你已經設定了正確的回調 URL 和應用程式類型,但仍然陷入迴圈,請嘗試在 X app 設定中撤銷現有的 X token,然後重新連接。

所以回調 URL 不應該是 n8n 的認證建立頁面上呈現的內容 → https://oauth.n8n.cloud/oauth2/callback ?

@Trigg_Williamson
我重現了你的案例,並找到了這3個要點:

  • 在 X Developer Portal 中,該應用程式未在 User authentication settings 中設定為 Web App,或 Callback URI 不完全相同於 https://oauth.n8n.cloud/oauth2/callback
  • Auth URI Query Parameters 中的 access_type=offline 參數來自 Google,不是 X - 移除它解決了問題。
  • 媒體 media.write 和 offline.access 作用域在 X API v2 上可能需要付費版本;先用 tweet.read tweet.write users.read 進行測試

請在修正 Developer Portal 後,在 n8n 中刪除並重新建立認證(不只是重新連接),最後在無痕視窗中測試,以排除 X 工作階段 Cookie 衝突。

請告訴我們是否成功了 :crossed_fingers:

謝謝 Tamy,不過很遺憾這個方法沒有奏效。回調 URL 完全相同。其他修復方法也沒有改變任何情況。

@Trigg_Williamson,請分享你的 json。
有些奇怪的地方…

當您在 n8n 中新增 X/Twitter 認證資訊時,通常有 X OAuth1 和 X OAuth2 兩個選項。

您配置的設定嚴格來說是針對 OAuth 2.0 的。

請確保在您的 n8n 認證資訊設定窗口內,您已明確選擇 OAuth2 作為驗證方法。如果 n8n 預期的是 OAuth 1.0a 認證資訊,但您提供的是 OAuth 2.0 金鑰,X 將會無限期地重新整理登入頁面,而不會傳遞代幣。

檢查此解決方案是否有效,您也可以在 X 上啟用 OAuth 1.0a 作為備用修復。

希望它能解決問題!

我遇到了同樣的問題,我嘗試了這裡列出的所有方法以及更多。這讓我很困擾。OAuth1 運作良好。OAuth2 不行。我認為它在舊版本的 n8n 中曾經能夠運作,因為幾個月前我能夠建立一個 X OAuth2 憑證,而我這邊沒有任何變化,同一台伺服器、同樣的 X 帳戶、同樣的 X 應用程式。

(貼文已被作者刪除)

這個有效。謝謝謝謝。