javascript - 用于刷新 CSRF token 的心跳/保活服务

标签 javascript angularjs token frontend csrf-protection

我们有一个完全面向服务的 Angular Web 应用程序,ng-前端正在通过 ng-services(到目前为止的标准)使用 REST Web 服务。 为了避免来自机器人或程序的任何自动 POST 请求,我们使用 CSRF(跨站点请求伪造) token ,该 token 经过服务器验证,并在 15 分钟后过期。

问题:如果我们在同一页面上进行长时间 session 而不重新加载,则 token 会过期(例如在仙女期间或由于长表单)。

这个想法是构建一个保持事件的服务(心跳),以在后台自动“刷新” session (直到客户浏览器打开)。

有什么想法吗?最佳实践? 谢谢

最佳答案

在后端创建keep-alive服务来刷新

 @RequestMapping(value = "/api/keep-alive", method = RequestMethod.GET)
    public boolean keepAlive() {
        //TODO refresh token session
        return true;
    }

在你的主 Controller 位置:

 var v = setInterval(function () {
         currentlyFetching = $http.get('api/keep-alive');
  }, 15 * 1000);

并且您的保持事件/心跳服务已就位。

关于javascript - 用于刷新 CSRF token 的心跳/保活服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36649912/

相关文章:

javascript - 如何在 $scope 之外使用函数(错误 : function isn't defined)

c# - 在 Facebook c# sdk 中转换从调试 token 提交的 expires_at

javascript - 将值设置为下拉按钮

javascript - 发送 post 查询并使用 jquery 获取 json

javascript - 如何在 Angular 中使用 css 类进行操作

api - Azure 管理 Rest API 身份验证 token

c++ - 我无法标记我的角色,我该如何到达那里?

javascript - 循环玩石头剪刀布游戏

javascript - JQuery 将值传递给接受事件对象参数的函数

javascript - 如果表单验证为 false,则清除所有字段