cod*_*_uk 3 lambda node.js jwt
我一直在考虑第一次使用 jsonwebtoken ( https://github.com/auth0/node-jsonwebtoken )实现 JWT 。为此,我需要一个秘密值。
是否有推荐的命令或站点来生成足够好的命令或站点?
我找到了这个页面(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 上运行,所以我希望秘密(字符串或密钥)在环境变量中。不作为文件保存。但是,如果您将证书放在环境变量中,我想知道 AWS 是否会去掉换行符,从而在 Node 尝试使用它时搞砸。所以我认为一个秘密字符串会更简单 - 只要它足够强大。
谢谢!
这就是我在用 JWT2 实现 HapiJS 时所做的。我根据他们提供的文档生成了一个密钥。根据他们的 repo,这是生成用于 JWT 签名的安全密钥的最简单方法之一。
node -e "console.log(require('crypto').randomBytes(256).toString('base64'));"
我认为您不必对 JWT 使用带有公钥/私钥的非对称密钥身份验证。以最简单的形式,当用户登录您的系统时,他们会获得用户数据的哈希值。在客户端,您在每个请求的授权标头中提供该哈希值。服务器将检查散列以验证完整性。由于您拥有对其进行散列的密钥,因此他们极不可能创建伪造的散列。
查看指向GitHub 问题的链接,他们讨论了为Hapi-auth-JWT2生成密钥的问题。
| 归档时间: |
|
| 查看次数: |
2481 次 |
| 最近记录: |