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