【发布时间】:2013-08-28 11:17:20
【问题描述】:
我有一个用作 REST API 后端的烧瓶应用程序。我想为后端实现基于令牌的身份验证,但为了做到这一点,我需要检索用户令牌。 Flask-Security 文档明确指出,要检索令牌,需要执行 HTTP POST,其中将身份验证详细信息作为 JSON 数据发送到身份验证端点。不幸的是,我不明白如何检索执行此类请求所需的 CSRF 令牌。
如果我使用扩展提供的登录页面/模板,CSRF 令牌将在表单的隐藏字段中传递给客户端。问题是:
如何在不访问和解析登录页面的情况下检索 CSRF 令牌,例如从使用 $http 方法的 angularJS 应用程序或移动应用程序?
显然我可以避免使用 Flask-Security 并自己实现这些部分,但我对 webapps 相对缺乏经验,我觉得我可能以错误的方式处理这个问题。
【问题讨论】:
-
你最后是怎么做到的?
-
我最终自己实现了安全层。对不起,我没有更好的答案给你。
-
请注意,没有将令牌存储在 angularjs 中的安全方法,请参见例如here。安全选项是让服务器将令牌存储在仅限 http 的 cookie 中 + 启用 CSRF 保护。如果您只需要与 angularjs 交谈,那么您也可以使用会话(+ anti-CSRF)。
标签: angularjs flask flask-security