我正在使用名为django_hosts的此程序包为某些应用重新路由网址。
除了django_hosts没有使用Django身份验证这一事实外,一切正常。
我托管了这个url api.example.com,所以在这个页面上有url api.example.com:8000/add_post,我希望用户添加帖子,但在此之前你必须进行身份验证。因此,在我登录后,我仍然无法通过发帖无表情地提交帖子。但是当我回到example.com时,它显示我已登录,但api.example.com正在告诉我。
如何使用此软件包进行django身份验证?
答案 0 :(得分:1)
问题是身份验证令牌已挂接到域。使用Django的默认配置,api.example.com
无法访问example.com
身份验证令牌。
您可以通过在 settings.py 模块中设置SESSION_COOKIE_DOMAIN
配置来更改此行为:
SESSION_COOKIE_DOMAIN = 'example.com'
但不要太快!仔细做,否则你可能会破坏你的申请:
在生产站点上更新此设置时要小心。如果你 更新此设置以在站点上启用跨域Cookie 以前使用的标准域cookie,现有的用户cookie将是 设置为旧域。这可能导致他们无法登录 只要这些饼干持续存在。
有关official documentation的更多信息。