首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保护Node.js RESTful API

保护Node.js RESTful API
EN

Stack Overflow用户
提问于 2018-04-04 07:52:57
回答 1查看 1.2K关注 0票数 0

我是Node.js的新手,我只想用它为我在Unity3D中的游戏创建RESTful API。在游戏结束时,我想要一些信息,如姓名和电话号码等,从玩家如果他/她想分享。我知道如何实现这个服务器,但我的问题是安全性。我在Node.js中搜索了很多关于安全性的信息,但我还没有弄清楚。在我的搜索中,我看到了一个npm包,它是JWT,并且知道了如何使用它。据我所知,我们向服务器发送请求,作为响应,它返回一个承载令牌,我们可以使用它设置头部,并使用GET、POST或其他方法。我的问题是,任何人都可以向该URL发送请求,得到该令牌并做其他事情(我想我犯了一个错误)。那么这种类型的服务器的安全解决方案是什么呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-04 08:09:00

有多种身份验证策略(basic、oauth、token、cookie)。既然您已经选择了JWT策略,我将尝试解释它。

  1. 用户注册(电子邮件、密码、电话、姓名等)
  2. 您的服务器返回该用户jwt.sign({ id: user.id, role: user.role }, 'secret', { expiresIn: 60 * 60})的201和JWT令牌签名规范。
  3. 然后,您可以向路由添加一个中间件,验证令牌是否在身份验证标头中,以及令牌是否有效。jwt.verify(token, 'your secret')
  4. 由于在报头中使用令牌,所以应该使用HTTPS加密http请求。
  5. 您还需要一个登录端点,该端点接收id和密码,并为该用户生成一个新令牌,因为令牌可能过期。

通常我使用这个包:https://github.com/auth0/node-jsonwebtoken,您也可以在这里设置加密算法和更多选项。

另一种包含图像的解释:https://stackoverflow.com/a/45978644/4120554

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49645600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档