javascript - 使用 GoLang 后端 React JS Rest API 安全性

标签 javascript reactjs api authentication go

我已经构建了一个带有 GoLang 后端的 ReactJS 前端。 ReactJS 使用 Rest API 从/向 Golang 后端请求/发送所有数据。

我很困惑什么是保护我的 API 请求的最佳方法,这样就不会以编程方式攻击我的后端服务器并进行不需要的更改。任何建议将不胜感激。

我一直在探索 JWT token 和 CSRF token ,但由于我缺乏 API 安全领域的专业知识,所以我没有深入研究如何在我的应用程序中准确地实现它。

关于我的申请的一些进一步细节是:

  1. 前端和后端服务器是分开的。
  2. 前端服务器使用 Nginx 来提供静态文件。
  3. 每次打开页面时都应生成一个新的 token ,有效期不应超过 8 分钟。

鉴于我的应用程序结构,请向我建议什么是保护我的 rest API 的最佳方法。

P.S.:此页面没有登录或任何其他机制来确定用户的真实性。

最佳答案

我建议使用 JWT 来确保 API 安全,因为您的 token 到期时间足够短。

  • https://github.com/dgrijalva/jwt-go --> 使用此包在后端生成 token 并根据需要设置到期时间和声明。您的声明也可以根据 Angular 色进行精细控制(授权层)。
  • 将此 token 从登录或作为 API 网关的任何端点发送到您的前端。
  • 根据您的意愿在前端将 token 存储在本地存储/https cookie 中。
  • 对于需要保护的每个 API 调用,在 header 中发送此 token ,使用上述库在后端验证此 token 。
  • 挑战是在忘记或重置密码/注销时使这些 token 无效。您可以使用黑名单 token 技术,将它们保存在 redis/db 中并使用 cron 定期刷新它们。

关于javascript - 使用 GoLang 后端 React JS Rest API 安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51568568/

相关文章:

javascript - jQuery Backstretch 固定高度

javascript - 如何在 AngularJS Controller 中引用/需要父 Controller ?

javascript - 在 React 应用程序中显示 SVG 时出现问题

android - 如果我删除旧的 Android API 级别并只保留最新的级别,会发生什么情况

javascript - 使用 jquery 缩放 div 的高度 - 谷歌将如何 react (SEO)?

Javascript 检测 'Shift' 在另一个函数中按下键

javascript - React Router v4(未找到页面)服务器端渲染

javascript - 使用 Split Map 时 JSX 额外的空白

python - Telegram.org API : calling method invokeWithLayer in Python

node.js - 如何从 Express API 获取数据并将其显示到 React 应用程序?