OAuth 2.0多对多委托客户端凭据流方案

时间:2017-09-19 16:33:38

标签: oauth oauth-2.0 identityserver4

情景:

  1. 控制器进程使用客户端凭据授予获取短期JWT访问令牌和刷新令牌句柄。
  2. 控制器生成一个或多个隔离的工作节点,并将访问和刷新令牌传递给节点。
  3. 子节点可以继续执行长期运行的任务,其中访问令牌可能到期并且需要进行刷新。
  4. 在后台线程中,在到期之前,代理刷新其令牌,重新生成访问令牌。对短期访问令牌和刷新生命周期的需求是重新生成时间JWT声明(声称时间传递,如uris)。
  5. 孩子可以回复父母的回复。父级和子级都需要维护独立的会话验证生命周期而不会使另一方失效。
  6. 假设: 假设每个过程都是具有独立状态的原子工作单元。访问令牌由控制器进行一次身份验证,并将其刷新令牌传递给N + 1或N * N个工作节点。

    任何给定的N进程都可以使用刷新令牌主动重新生成其访问令牌,以延长其生命周期并防止过期。

    该过程可以通过HTTPS和&amp ;;在受信任(私有)或不受信任(公共)的环境中运行。 SSL

    有一个授权服务器和一个api资源服务器。

    问题: 代理如何验证访问令牌和刷新令牌生存期,以确保任何子进程或父进程可以在其生命周期内刷新其会话,而不会暴露任何安全攻击向量或使池中的其他代理无效?

1 个答案:

答案 0 :(得分:0)

相互TLS客户端证书身份验证可能是一个很好的选择。它涉及通过验证所提供的数字证书来相互认证的各方,以便双方都能确保其他人的信任。身份。在技​​术方面,它指的是向服务器验证自身的客户端应用程序,并且该服务器还通过验证由受信任的证书颁发机构(CA)颁发的公钥证书/数字证书来向客户端验证自身。