快速答案:社群登入突然壞掉,八成在平台那一端:Meta 應用程式被停用或要求完成年度資料使用檢查、Google OAuth 的重新導向網址跟網站不符、LINE Login 的 Callback URL 沒更新。先到各平台的開發者後台看應用程式狀態,再對回呼網址。剩下的常見情況是手機 App 內建瀏覽器擋住 Google 登入,以及社群帳號沒給信箱造成重複帳號。
為什麼會這樣 #
Meta(Facebook)的應用程式要維持「上線」狀態,每年要完成資料使用檢查,商業驗證沒過、隱私權政策網址失效都會被自動關閉。關閉後所有人都不能用 FB 登入,網站不會告訴你原因,只會顯示一個籠統的錯誤。
Google 的 OAuth 憑證有「已授權的重新導向 URI」,必須跟網站現在的網址完全一致:http 換 https、有沒有 www、換過網域,任何一個不同都會失敗。LINE Login 的 Callback URL 也一樣。另外,桌機上用 LINE 登入會出現 QR code 要掃描,那是 LINE 的正常流程,不是壞掉,但客人常以為是錯誤。
手機上還有一種:客人從 LINE 群組、FB、IG 的連結點進網站,是在 App 的內建瀏覽器裡。Google 明確禁止在內嵌瀏覽器做 OAuth,會直接報錯。最後是帳號合併問題:LINE 預設不給信箱、FB 使用者可以拒絕給信箱,登入外掛就建立一個沒有信箱或假信箱的帳號,之後客人用 Email 登入時是另一個帳號,折價券、會員資格、通路碼都對不上。
怎麼處理 #
- 先問清楚:是所有人都不能登入,還是某一位客人?前者去平台後台,後者看那位客人的帳號。
- Meta:開發者後台 → 該應用程式,看狀態是否上線、有沒有待處理的資料使用檢查、隱私權政策網址能不能開。
- Google Cloud Console → API 和服務 → 憑證,對該 OAuth 用戶端的重新導向 URI;同意畫面是否已正式發布。
- LINE Developers → 該 channel → Callback URL,channel 是否已 Published。
- 網站端:登入外掛裡的 App ID 與 Secret 是不是還是同一組;網站網址最近有沒有改過。
- 手機內建瀏覽器:在登入頁加一句「請用 Safari 或 Chrome 開啟」並提供複製連結按鈕;或對內嵌瀏覽器隱藏 Google 登入。
- 重複帳號:找出兩個帳號,把訂單與會員資格移到保留的那個,另一個停用;之後設定社群登入必須取得信箱,或加一個補填資料的步驟。
我們實際遇過的情況 #
一個課程平台某天 FB 登入全部失效,是 Meta 通知「重新啟用」的年度檢查沒人處理,應用程式被關閉;完成檢查後恢復。一家電商回報客人用手機無法 Google 或 FB 登入,實際是從 LINE 群組連結點進來,在 LINE 內建瀏覽器裡,改用外部瀏覽器就正常。
好幾家客戶都有「LINE 註冊的客人折價券不能用、通路碼沒帶到」的情況,根因都是社群登入繞過了註冊表單的必填欄位與信箱,這一段要另外處理(見上面第 7 步)。
什麼時候該找人 #
社群登入外掛牽涉三個平台的憑證,改錯 Secret 會讓所有人都登不進去。如果同時出現「原本用 FB 登入的客人現在變成新帳號」,帳號合併要動資料庫,先別讓客人自己重新註冊,會越合越亂。
WPTOOLBEAR網站工具熊