是否使用加密令牌?
Use an encrypted token or not?
对于 API 基于令牌的身份验证:建议的做法是什么:
- 将令牌保存在数据库中是加密的还是未加密的?
- 对于身份验证:根据令牌查找用户(仅当令牌未加密存储在数据库中时才有可能)或基于例如用户的电子邮件地址?
我发现了几个似乎存储未加密令牌的来源,然后在身份验证中根据 API 请求收到的令牌找到用户。这对我来说似乎有点不安全,从那时起后端根据请求中包含的令牌搜索整个 User
table,而不管哪个用户拥有该令牌(所以有人可以尝试很多令牌).同时不知道是否需要加密token
我会将其视为密码 - 对其进行加密。
然后当用户连接时,您查找指定的用户,加密提供的令牌并比较该用户的结果。
主要原因是当你被黑客入侵时,你不必在恢复时立即重置每个人的受损令牌,你应该有更多的时间..因为黑客无法访问他们的令牌.. 如果你的代币被加盐,可能永远不会。
并不是说我提倡不要重置令牌!只是,这是一时冲动下的一个不那么紧迫的问题。
对于 API 基于令牌的身份验证:建议的做法是什么:
- 将令牌保存在数据库中是加密的还是未加密的?
- 对于身份验证:根据令牌查找用户(仅当令牌未加密存储在数据库中时才有可能)或基于例如用户的电子邮件地址?
我发现了几个似乎存储未加密令牌的来源,然后在身份验证中根据 API 请求收到的令牌找到用户。这对我来说似乎有点不安全,从那时起后端根据请求中包含的令牌搜索整个 User
table,而不管哪个用户拥有该令牌(所以有人可以尝试很多令牌).同时不知道是否需要加密token
我会将其视为密码 - 对其进行加密。
然后当用户连接时,您查找指定的用户,加密提供的令牌并比较该用户的结果。
主要原因是当你被黑客入侵时,你不必在恢复时立即重置每个人的受损令牌,你应该有更多的时间..因为黑客无法访问他们的令牌.. 如果你的代币被加盐,可能永远不会。
并不是说我提倡不要重置令牌!只是,这是一时冲动下的一个不那么紧迫的问题。