我为我的单页应用程序设置了 Flask-Security - 并遇到了很多人遇到的 CSRFToken 问题(Flask-Security CSRF 令牌)。在我的 Web 应用程序中,我将 CSRFToken 放入 HTML 中,抓取页面以找到它,并使用它从 Angular 发送我的登录请求作为我的 POST 中的请求标头。
这很有效,但是,如果我从移动应用程序通过 ajax 访问它们,保护 API 的程序是什么?因为我假设我需要做的是首先从移动应用程序登录,存储我的 auth_token,然后在后续的 API 调用中使用它。
这里的问题...我是否需要在我的 /login 页面上进行获取,抓取 CSRF 令牌,使用它向我的服务器发送登录请求,首先获取身份验证令牌?通过 REST 从移动应用程序中抓取 HTML 以获取 CSRF 令牌似乎有点草图。
另外,顺便说一句:我不确定我是否应该将 API 保护为:
@login_required
/api/v1/foo
或者
@auth_token_required
/api/v1/foo