我第一次考虑使用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会不会去掉换行符,所以把它搞砸了。所以我认为一个秘密字符串会更简单--只要它足够强。
谢谢!
发布于 2018-10-26 03:34:21
这就是我所做的--在用JWT2实现HapiJS时,我根据他们提供的文档生成了一个密钥。根据
他们的回购
,这是为JWT生成用于签名的安全密钥的最简单方法之一。
我不认为JWT必须使用带有公钥/私钥的非对称密钥身份验证。在最简单的形式中,当用户登录到您的系统时,将为他们提供用户数据的哈希。在客户端,您在authorization header中为每个请求提供该散列。服务器将检查散列以验证完整性。由于您拥有散列所针对的密钥,因此他们极不可能创建伪造的散列。
查看
此链接
到GitHub问题,在那里他们讨论为
Hapi-auth-JWT2
..。
发布于 2018-10-26 03:34:21
遇到这个问题,我认为@technogeek1995做了一个复制-粘贴错误,命令应该如链接的github-thread中所述:
https://stackoverflow.com/questions/52996555
复制相似问题