我一直在努力让 django-social-auth 正常工作。我的开发服务器是我工作中专用网络中的服务器,通过 10.0.0.* IP 地址访问。我们在这台服务器上运行了多个 django 应用程序。这是我对此应用程序的配置:
# Perceptual
location /perceptual/static/ {
alias /opt/perceptual/perceptual/static/;
}
location /perceptual/ {
proxy_pass http://127.0.0.1:8001;
}
我正在用这个从我的静态目录中运行一个backbone.js 应用程序。所以,我可以去 10.0.0.54/perceptual/static/,获取我的主干应用程序。
现在,我的设置文件中有我的 Facebook APP_ID 和 FACEBOOK_API_SECRET,都已正确配置。我在我的实际机器(不是开发服务器)上的 /etc/hosts 文件中也有一行将myapp.com指向10.0.0.54,我的 Facebook 应用程序配置为 App Domains 和 Site URL 如下所示:
App Domains: perceptual.com
Site URL: http://perceptual.com
问题是,每当我去 perceptual.com/perceptual/static/login/facebook/ 时,它都会给我这个错误:
所以你可以从 URL 中看到我的 redirect_uri 是http://localhost:8001
- 但我不希望它是那样的,很明显。一旦我将其更改为 perceptual.com,它就会变得更远:然后我收到此错误:
AuthFailed at /perceptual/complete/facebook/
Authentication failed: There was an error authenticating the app
这是我的回溯,如果有帮助
在这一点上,我被卡住了 - 如何让我的服务器将 redirect_uri 更改为 Facebook 可以处理的东西,而不是 127.0.0.1:8000?我的猜测是它来自 Django,但我不确定如何更改它。然后,一旦修复,它仍然无法完全验证,并得到上述错误。任何帮助将不胜感激。非常感谢!