FB第三方登入異常處理
Facebook第三方登入失敗?登入異常如何處理?天矽科技網頁設計
Facebook第三方登入
建置網站時,大多網站通常都會使用「第三方登入」與「第三方加入會員」的功能,這個第三方就是Facebook、LINE或Google…等社群軟體,網站希望能透過這些社群,將會員資料直接快速的帶入,以便進行申請或登入。
由於是使用「第三方」功能的關係,若該平台有異動、錯誤或更新等狀況,隨時都有可能造成網站會員無法登入及註冊,當發生錯誤狀況時,除了回報給網站設計公司人員以外,我們還可以怎麼辦?
不過通常網站發生第三方登入問題時,大多都不會是網站本身的問題,而是第三方平台的狀況,因此雖然網站設計公司的工程人員可以協助釐清狀況,但本質上還是需要由網站、平台擁有者一同協助,才能解決喔!如果還不了解如何申請Facebook的登入認證及設定,可參考此篇:【網站第三方登入】網頁申請Facebook登入認證設定教學。
Facebook登入異常處理
Facebook的登入異常是目前最常發生也最常遇到的問題,這是因為Facebook 經常會不定期的更新,若真的無法解決,建議直接找Facebook的客服人員處理,或是到Meta for Developers中的支援、故障、社群與常見問題中尋求幫助喔!
- Meta for Developers支援|取得說明
- Meta for Developers故障|平台故障報告
- Meta for Developers社群|開發人員互助論壇
- Meta for Developers常見問題|開發人員常見問題
目錄
➤ 狀況一:無法使用此功能
➤ 狀況二:權限問題
➤ 狀況三:帳號未綁定信箱
➤ 狀況四:網址網域未包含在應用程式中
➤ 狀況五:權杖(token)過期
➤ 狀況六:登入功能已停用
➤ 狀況七:應用程式更新導致串接不相容
➤ 狀況八:應用程式並非使用中
➤ 狀況一:無法使用此功能
「無法使用此功能:此應用程式目前不支援Facebook登入。」
前面有提到,Facebook會經常且不定期的進行更新,並且還會同時進行應用程式的審核,因此網站很有可能會因為某部分「有違規情形」或「未做資料使用情形」的檢查而被停用,建議網站管理者可定期至Facebook for Developers進行檢查與設定。
- 至收件匣檢查是否有新訊息需要處理,若有「年度資料檢查」未執行則請依提示完成設定;若是「違反政策」可點擊提交申訴重新審查,同樣可站提示完成設定。
- 若為Facebook更新問題,則可檢查是否API版本過舊、是否需要升級版本。
➤ 狀況二:權限問題
「無法使用此功能:Facebook login os currently unavilable for this app, since this app does bot have advanced public_profile permission.」
「你的應用程式存取public_profile的權限為一般存取權限。若要使用Facebook登入,請將public_profile切換為進階存取權限。」
簡單來說,就是管理者雖然開通了登入的應用程式功能,但還沒有權限去讀取客戶登入後的資料,由於沒有辦法接收資料,也就沒有辦法讓客戶去使用這個功能,所以我們必須要去確認開啟應用程式的進階授權,取得客戶的資料才行。
所以我們記得要到「應用程式審查」的「權限和功能」處,將 email 與 public_profile 取得「進階存取權限」,取得權限後,則可看到使用權限層級看到由灰底的Standard Accesss轉為綠底的Advanced Access。
※ 將email一同取得進階存取權限的原因,在於避免帳號為綁定信箱而造成無法登入的問題。
➤ 狀況三:帳號未綁定信箱
有些Facebook的使用者在一開始註冊Facebook社群帳號時,只有使用手機號碼進行註冊、沒有綁定email,不過在使用第三方快速登入、註冊功能時,Facebook還是會要求客戶綁定email。
簡單來說,要使用第三方登入及註冊功能的使用者客戶,都還是會在Facebook綁定email,所以如果網站沒有將email的存取權限設定為「進階存取權限」就沒有辦法獲取客戶的email資料,造成無法登入的問題發生。
解決方式跟狀況二相同,這裡就不多做贅述。
➤ 狀況四:網址網域未包含在應用程式中
「無法載入網址:這個網址的網域未包含在應用程式的網域中。若要載入這個網址,請在應用程式設定的『應用程式網域』欄位中新增應用程式的所有網域及子網域。」
會發生這個問題的網站比較少,主要原因是一開始設定沒有問題後,之後又有再做網域上的變動,比如新增子網域,因此網址會和先前已設定好的網址不同,所以才會發生這樣的錯誤。
這時我們可能要到原本的應用程式網域中進行調整,如下。
- 選擇「設定」中的「基本資料」即可看到「應用程式網域」欄位,在此輸入新的、正確的網址,並按下儲存變更。
- 同樣地方下拉至底部,可看見「網站」欄位,在此一樣輸入新的、正確的網址,並按下儲存變更即可。
- 到「Facebook登入」中的「設定」處,可看到「有效的OAuth重新導向URI」欄位,一樣輸入新的、正確的網址,並於網址後方加入「/user/facebook/callback」,變更後儲存,不過一般我們會請各位複製下方網址貼進欄位就可以。
➤ 複製此網址【https://oauth.mitbrick.com/fblogin/index.php】
- 一樣在「Facebook登入」中選擇「快速入門」後,選擇「網站」中的「網站網址」欄位,輸入新的正確的網址並儲存,這樣就可以了!
➤ 狀況五:權杖(token)過期
「存取權杖過期,無法登入!」
權杖過期是企業網站的Facebook登入應用程式,因某些原因被Facebook停用超過90天。不過這個狀況通常不太會發生,因為一般在第三方登入無法使用的狀況發生沒多久,就會發現問題了。
如果真的發生這樣的狀況,我們只要登入Meta for Developers就可以看到應用程式已經暫停超過90天的視窗提醒,這時候只要按下恢復存取權限就可以使用了。
➤ 狀況六:登入功能已停用
「登入功能已停用:為保護你的帳號安全,從內嵌瀏覽器登入Facebook的功能已停用。若要繼續,請在你的裝置下載並登入Facebook應用程式,然後再試一次。」
這個狀況通常也不太會發生,這是在手機沒有下載Facebook App的狀況下會出現,客戶及使用者只要下載Facebook App就可以避免了,在使用第三方登入時,Facebook會自動跳轉至Facebook App讀取資料,如此即可成功使用。
➤ 狀況七:應用程式更新導致串接不相容
這個狀況會發生在應用程式自動更新後,在此之前的登入功能是正常的,但後來再登入時卻導致畫面出現「Sorry, something went wrong.」的訊息,如下:
會導致如此的原因是 Facebook 自動將應用程式切換為新的「Facebook Login for Business」,此訊息可在提示中的收件匣中找到,如圖:
不過新推出的應用程式與目前串接方法不相容,因此需改回來原本的Facebook登入,切換方式如下:
- 左側在「商家專用Facebook登入」找到「設定」
- 右側選擇「切換成Facebook登入」
- 選擇說明項目後,按下「切換成Facebook登入」即可
➤ 狀況八:應用程式並非使用中
「應用程式並非使用中:此應用程式目前無法使用,且應用程式開發人員已得知此問題。應用程式重新啟動後,你便能登入。」
發生這個狀況的原因,是因為 Facebook for Developers 中登入的「應用程式模式」被調整為「開發中」而非「上線中」狀態,這裡僅需將其開啟轉為「上線中」即可解決。
資料參考與來源
✔ CYBERBIZ|FACEBOOK 快速登入異常 解決辦法
✔ SHOPSTORE|「Facebook快速登入」錯誤狀況排除