我想知道使用客户端指纹作为 JWT 密码进行编码是否是最佳做法。然而,我在 WWW 上找不到任何关于这个问题的信息,但到目前为止,这样做对我来说是有意义的。
我正在考虑使用 JavaScript 生成指纹客户端,并在每次调用时将其发送到 API。然后,API 应将指纹与硬编码 secret 一起用于对 token 进行编码和解码。
这不是防止CSRF的好方法吗? 还是我错过了其他东西? 或者一般来说:使用 JWT 防止 CSRF 的最佳方法是什么? (我正在使用 PHP 和 VueJS,是否有与案例相关的解决方案?)
最佳答案
我从来没有听说过。
使用私钥或共享 key 对 token 进行签名。使用指纹意味着您可以将一个(或多个)手指与私钥相关联,然后计算 token 。
但是,这看起来与 Webauthn protocol 非常相似我正在与。使用 Android 设备时,浏览器可以与指纹/屏幕锁交互以验证用户身份。设备发送的数据是可以使用 Google API 验证的 JWT(请参阅 Android SafetyNet )。
关于javascript - 使用客户端指纹对 JWT token 进行编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54377272/