首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为JWT NodeJS Lambda生成足够的秘密

为JWT NodeJS Lambda生成足够的秘密
EN

Stack Overflow用户
提问于 2018-10-26 03:15:29
回答 2查看 3.5K关注 0票数 3

我第一次考虑使用jsonwebtoken实现JWT (

https://github.com/auth0/node-jsonwebtoken

)。为此,我需要一个保密值。

是否有推荐的命令或站点来生成足够好的命令或站点?

我找到了这个页面(

https://security.stackexchange.com/questions/95972/what-are-requirements-for-hmac-secret-key

),它详细说明了一个秘密应该有多长(答案似乎是256位),但是你在哪里呢?

获取

来自?:)

否则

似乎另一种选择是使用公钥/私钥对。在我发现的这本指南中,他们似乎更喜欢这种方法:

https://medium.com/@siddharthac6/json-web-token-jwt-the-right-way-of-implementing-with-node-js-65b8915d550e

因为那家伙说他一开始使用字符串,然后切换到使用密钥对。

但是

复杂的是,它将在Lambda上运行,所以理想情况下,我希望秘密(字符串或密钥)在环境变量中。

注释

保存为文件。但是如果你把一个证书放在一个环境变量中,我想知道当Node试图使用它时,AWS会不会去掉换行符,所以把它搞砸了。所以我认为一个秘密字符串会更简单--只要它足够强。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-26 03:34:21

这就是我所做的--在用JWT2实现HapiJS时,我根据他们提供的文档生成了一个密钥。根据

他们的回购

,这是为JWT生成用于签名的安全密钥的最简单方法之一。

我不认为JWT必须使用带有公钥/私钥的非对称密钥身份验证。在最简单的形式中,当用户登录到您的系统时,将为他们提供用户数据的哈希。在客户端,您在authorization header中为每个请求提供该散列。服务器将检查散列以验证完整性。由于您拥有散列所针对的密钥,因此他们极不可能创建伪造的散列。

查看

此链接

到GitHub问题,在那里他们讨论为

Hapi-auth-JWT2

..。

票数 8
EN

Stack Overflow用户

回答已采纳

发布于 2018-10-26 03:34:21

遇到这个问题,我认为@technogeek1995做了一个复制-粘贴错误,命令应该如链接的github-thread中所述:

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

https://stackoverflow.com/questions/52996555

复制
相关文章

相似问题

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