以 Django 佈署網站在 PythonAnyWhere 上時,申請 Facebook APP做 OAuth 用戶登入,

出現以下錯誤 : 

# 無法載入網址: 這個網址的網域未包含在應用程式的網域中。若要載入這個網址,請在應用程式設定的「應用程式網域」欄位中新增應用程式的所有的網域及子網域。

 

原因 : 

因為透過 OAuth 取得使用者資訊時需要指定 callback url。

 

解決辦法 : 

  • 回到 Facebook App 的 用戶端 OAuth 設定 頁面
  • 建議將重新導向 URI 使用 Strict 模式 這項功能啟用
  • 在 " 有效的 OAuth 重新導向 URI " 欄位內填入 : https://你的網域名.pythonanywhere.com/accounts/facebook/login/callback

 

例外 :

為了加強網頁驗證的安全性,Facebook 在導向網址時目標網址若與 OAuth 重新導向 URI 不完全符合的話,將會出現以下錯誤 :

#  網址已遭封鎖: 這個重新導向失敗了,因為重新導向 URI 並未列入應用程式用戶端 OAuth 設定的許可名單中。請確定已開啟用戶端和網站 OAuth 登入,並將你所有的應用程式網域新增為有效的 OAuth 重新導向 URI。

因此" 有效的 OAuth 重新導向 URI " 欄位需填入正確的網址

 

參考資料 : 

http://sjkou.net/2018/02/04/facebook-oauth-the-domain-of-this-url-isnt-included-in-the-apps-domain/

arrow
arrow
    文章標籤
    django facrbook oauth
    全站熱搜
    創作者介紹
    創作者 Rex 的頭像
    Rex

    Rex-Software-Blog

    Rex 發表在 痞客邦 留言(0) 人氣()