gpt4 book ai didi

ruby-on-rails - SOA - 身份验证服务设计

转载 作者:行者123 更新时间:2023-12-04 05:40:31 24 4
gpt4 key购买 nike

我正在设计一个面向服务的架构,我还需要一个身份验证服务来识别客户端并允许他们访问资源。

其实我找到了两种可能的解决方案:

  • 使用公钥和私钥对每个请求进行签名
  • 使用公钥和私钥的基于 token 的身份验证

  • 我不假设 oauth2 服务,因为它会增加太多的开销来设计系统以满足我的需要,相反,我更喜欢采用更简单(但也很强大)的身份验证解决方案。

    所以我带着我的 AuthenticationService来了,可以由发出 API 请求的客户端查询(获取与请求一起传递的 token ),也可以由每个 API 端点查询以对签署请求的 HMAC 执行反向检查以查看它是否匹配(检查如果用于生成 HMAC 的私钥有效)。

    我可以看到最新的对于执行多个操作的最终开发人员来说更简单,但它还需要更多的检查来验证 token 并处理它的过期......

    token 解决方案可能会引发哪些单一请求 HMAC 不会引发的潜在安全问题?你更喜欢什么,可能,为什么?

    最佳答案

    最后我最终基于相同的亚马逊解决方案设计了一个身份验证服务。
    它要求用户使用私钥对每个请求进行签名。因此,该请求将发送一个值为“PUBKEY:SIGNATURE”的 Authorization header ,其中签名是由任何请求数据(它可能是请求正文本身)加上时间戳组成的 HMAC,将在 Date header 中传递。这种实现足够强大,可以避免 MITM 和重放攻击。

    有关此解决方案的更多信息 here是一个很好的解释,对我理解真正的实现有很大帮助。

    希望这真的可以帮助世界上面临同样问题的其他人。

    关于ruby-on-rails - SOA - 身份验证服务设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12706299/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com