我有一些与令牌和加密有关的问题。
首先访问令牌:
无论各种攻击(您需要牢记以便采取措施),您是否建议在客户端上存储访问令牌?(本地存储/cookies)。
如果是,我是否需要对其进行加密并将加密的令牌存储在客户端上。但是,因为我使用的是 SSL,这真的需要吗?您正在使用 SSL 来防止 MIM 攻击。但是既然您使用的是 HTTPS,我们为什么还要加密访问令牌?
我的第二个问题与加密有关。对于 SSL,我知道我需要一个证书(或自签名证书来在本地测试它)。但是,为了加密令牌,我是否需要相同的 SSL 证书,还是可以使用 RSACryproProvider 生成一对公钥/私钥?
对于刷新令牌:
- 我相信最好的方法是将加密的刷新令牌保存在数据库中。它可能是在数据库中读取/写入刷新令牌的实际 API。但是,刷新令牌必须与一些用户属性(即 UserId)一起存储,因此您可以根据用户 ID、电子邮件等检索它。假设我使用 UserId,我会将它与一些字符和日期一起加密并存储它在客户端。你同意吗?而且,我正在考虑限制对该 API 的访问,以便它只能为来自特定服务器或服务器(网络场)的请求提供服务。您对这种方法有何看法?
我真的很感谢你的帮助,因为我真的很想深入理解一些概念。如果有什么我表达不正确,请让我知道以改写我的问题。
谢谢