我正在开发一个服务器组件,它将为嵌入式客户端的请求提供服务,这也在我的控制之下。
现在一切都是测试版,安全性是这样的:
客户端通过 https 发送用户名/密码。
服务器返回访问令牌。
客户端使用自定义标头中的访问令牌通过 http 发出进一步的请求。
这对于一个演示来说很好,但它有一些问题需要在发布之前解决:
任何人都可以复制正如一些用户回答的那样,这不是问题,因为它通过了 https。我的错。login
请求,重新发送它并取回访问令牌。任何人都可以通过检查请求标头来监听并获取访问密钥。
我可以想到一个带有时间戳的对称密钥加密,这样我就可以拒绝重复的请求,但我想知道这种场景是否有一些众所周知的良好做法(这似乎很常见)。
非常感谢您的洞察力。
PS:为了以防万一,我在服务器上使用 Java,而客户端是用 C++ 编码的。