mar*_*ona 9 authentication encryption oauth google-signin
在服务器端使用Google登录库并获得GoogleIdToken来验证用户的身份是相当简单的.但是,我想用我们数据库中的每个用户数据加密一个每个用户都独有的秘密.是否有捷径可寻?如果不使用Google登录,您可以从用户的密码中获取密钥,但这显然不可能.
好吧,首先,您正在将其与使用用户密码派生加密密钥进行类比,但是由于您正在讨论将其作为不使用 Google Sign-On 的替代方案,因此这意味着您正在讨论使用用户进行身份验证的密码。这是个坏主意。
用户需要能够更改他们的身份验证密码,如果您使用它进行加密,这对您来说将是一个主要麻烦。它将要求您使用旧密码解密所有内容,然后使用新密码重新加密。
因此,您需要找到的是可以从 GoogleIdToken 中提取出来且永远不会改变的东西。电子邮件地址发生变化,所以我不会使用它。也许您可以使用 GoogleIdToken.getPayload().getSubject() 获得的用户 ID 就是您想要的。然后你想要做的就是从中派生出一个密钥。不过,我会寻找方法将其与用户提供给您的其他真正秘密的信息结合起来。
| 归档时间: |
|
| 查看次数: |
422 次 |
| 最近记录: |