django-allauth 移动客户端 csrf 保护

Posted

技术标签:

【中文标题】django-allauth 移动客户端 csrf 保护【英文标题】:django-allauth mobile client csrf protect 【发布时间】:2014-07-12 11:09:51 【问题描述】:

我想通过移动客户端使用django-allauth 服务。当我请求登录时,注册页面会给出csrf protection 错误,以防止跨站点请求。我可以通过将csrf_exempt 标签放入dispatch 方法中的django-allauth 应用程序模块来解决此问题,但我不知道这是否是处理此问题的正确方法。我不想破坏django-allauth 的原始结构。我可以做什么来代替这个,我可以请求csrfmiddlewaretoken吗?

【问题讨论】:

【参考方案1】:

csrf_exempt 在移动身份验证的情况下应该没问题。如果您还想提供一个 Web 界面,那么您应该分开您的 url 设置并避免在那里使用 csrf_exempt

如果您想让您的移动身份验证更安全,那么我会根据设备 ID 创建一个散列字符串和一个存储在您的服务器和应用程序上的秘密字符串。但是,您还必须在请求中包含设备 ID 才能在服务器上重现哈希。

【讨论】:

以上是关于django-allauth 移动客户端 csrf 保护的主要内容,如果未能解决你的问题,请参考以下文章

django-allauth 中多个设备的访问令牌授权

Spring 安全中的条件 CSRF 保护

在 django-rest-framework 中插入 django-allauth 作为端点

django-allauth:如何修改电子邮件确认 url?

覆盖 django-allauth 表单域

django-allauth:将多个社交帐户链接到单个用户