【发布时间】:2016-11-06 18:08:20
【问题描述】:
我在将我的 django 1.9.3 应用程序从本地开发迁移到 Heroku 上的生产时遇到困难,特别是使用 allauth (0.25.2) 通过 Twitter 登录。
看来我遇到了与django allauth not working on production 相同的问题,但该答案对我不起作用。
当我运行开发服务器时,一切正常,Twitter 上的回调 url 设置为 http://127.0.0.1:8000/accounts/twitter/login/callback/。
当我将其切换到 http://{myappname}.herokuapp.com/accounts/twitter/login/callback/ 或 http://{myappname}.herokuapp.com/accounts/twitter/login/callback/ 并访问 Heroku 上的应用程序时,当我尝试通过 Twitter 登录时收到 500 错误,并被重定向到 https://{myappname}.herokuapp.com /accounts/twitter/login/?process=login
我在 settings.py 中包含以下设置,我在故障排除期间尝试切换:
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = "mandatory"
ACCOUNT_EMAIL_SUBJECT_PREFIX = "[{myappname}] "
ACCOUNT_LOGIN_ATTEMPTS_LIMIT = {number}
ACCOUNT_LOGIN_ATTEMPTS_TIMEOUT = {number}
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = False
ACCOUNT_LOGOUT_ON_PASSWORD_CHANGE = True
ACCOUNT_LOGOUT_REDIRECT_URL = "/"
SOCIALACCOUNT_EMAIL_REQUIRED = ACCOUNT_EMAIL_REQUIRED
对于生产(再次尝试切换这些):
SECURE_CONTENT_TYPE_NOSNIFF = True
SECURE_BROWSER_XSS_FILTER = True
SECURE_SSL_REDIRECT = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
CSRF_COOKIE_HTTPONLY = True
X_FRAME_OPTIONS = 'DENY'
我也尝试过刷新授权密钥。关于我做错了什么的任何想法?
【问题讨论】:
-
当您询问有关内部服务器错误的问题时,您需要将完整的错误跟踪添加到您的问题中
-
不幸的是,我没有在终端窗口中看到任何错误跟踪。
-
它不会出现在您的终端窗口中。它将在您的日志中。或使用 debug=True 运行并在浏览器中获取它
标签: python django heroku django-allauth