我正在设计一个面向服务的体系结构,我还需要一个身份验证服务来识别客户端并允许他们访问资源。
实际上我找到了两种可能的解决方案:
- 使用 pubkey 和 privatekey 对每个请求进行签名
- 使用 pubkey 和 privatekey 的基于令牌的身份验证
我没有假设 oauth2 服务,因为它会为我的需要增加太多的系统设计开销,相反,我更喜欢采用更简单(但也很强大)的身份验证解决方案。
因此,我AuthenticationService
的 .查看它是否匹配(检查用于生成 HMAC 的私钥是否有效)。
对于执行多项操作的最终开发人员来说,我可以看到最新的更简单,但它还需要更多检查来验证令牌并处理它的到期...
令牌解决方案会引发哪些单请求 HMAC 不会引发的潜在安全问题?你更喜欢什么,可能,为什么?