我最近为我们的服务实现了一个OAuth服务器功能。我已经咨询过OAuth 2.0威胁模型及安全考虑并解决了大部分问题。我对生成授权代码和access_token的最佳实践感到好奇。
我们的后端是用Node.js编写的,所以我对代码和访问令牌都使用了uuid v4。历史上,我看到代码比uuid v4短,大约有6-8个字符长。最近,我看到了松弛中的令牌很可能是其他的东西。
现在,我知道uuid被认为是不可猜测的,我们也只使用了一次代码,而且代码是短暂的。还有什么可以提高代码和访问令牌的质量(或不可猜测性)吗?
此外,散列代码和访问数据库中的令牌是否有意义?它的最佳哈希函数是什么?现在,我们在类似的地方使用sha256
。
发布于 2020-11-05 14:32:49
因此,我被告知UUID是被认为不够安全,尽管实际上应该是。
因此,在Node/JS世界中,最好使用secure
模块而不是uuid.v4()
模块。更具体而言:
crypto.randomBytes(32).toString('hex')
但这是关于UUID的一般性讨论,不确定是否有对OAuth的额外要求。我不会这么说的。
https://security.stackexchange.com/questions/240060
复制相似问题