我正在实现一个客户端-服务器系统。客户端使用用户名和密码登录,并且(最初)服务器使用在几个小时后过期的令牌进行响应,并在需要身份验证的其余服务中使用。
令牌过期时,我应该如何刷新它?
- 永久保存用户名/密码(加密)并再次调用登录
- 保存某种密码哈希?
- 还有其他选择吗?
我应该如何将密码发送到服务器?
- 客户端应用哈希,服务器只存储它并验证哈希(永远不知道真正的密码)
- 客户端通过安全通道发送原始密码,服务器验证(长度、强度等)并存储哈希?
- 还有其他选择吗?
看看这个链接。-> https://developers.hubspot.com/docs/methods/auth/refresh_token
据我了解,当您首次使用密码/用户名登录时,您应该得到一个您保存的刷新令牌(用于刷新)以及访问令牌。每隔一段时间,您就会调用将令牌刷新到服务器,向它提供刷新令牌和访问令牌,它会为您提供新的访问令牌和刷新令牌。
我认为这个想法是,如果有人看到您的一个请求,他们只能在短时间内冒充您。他们不知道刷新令牌,因此假设他们没有看到您刷新该令牌的请求,当您刷新并获得新的访问令牌时,他们将被切断。
我认为通过安全通道发送密码就可以了。
其他任何人都可以在这里纠正我 - 我只是想帮忙。