使用GoLang后端反应JS Rest API安全性

时间:2018-07-28 06:04:57

标签: javascript reactjs api authentication go

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

我对确保API请求安全的最佳方法感到困惑,以确保不会以语法方式攻击我的后端服务器并进行不希望的更改。任何建议将不胜感激。

我一直在探索JWT令牌和CSRF令牌,但是由于我缺乏API安全领域的专业知识,因此在如何在应用程序中准确实现这些方面一事无成。

有关我的应用程序的更多详细信息:

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

请根据我的应用程序结构,向我建议保护其余API的最佳方法。

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

1 个答案:

答案 0 :(得分:0)

我建议使用JWT进行API安全性,因为令牌的到期时间足够短。

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