在分布式服务之间共享OAuth凭据 我们的OAuthServer将与处理实际受保护资源的服务器分离,本质上是在每个持有保护资源的不同系统的中间。

在分布式服务之间共享OAuth凭据 我们的OAuthServer将与处理实际受保护资源的服务器分离,本质上是在每个持有保护资源的不同系统的中间。,oauth,Oauth,例如,登录页面将位于其中一个系统中 当一个系统中经过身份验证的用户转到另一个系统时,应该执行什么程序?由于它是经过身份验证的,所以它应该只是通过身份验证,但是在这个场景中OAuth做了什么,并要求做什么呢 谢谢OAuth并没有明确说明这个场景。但从API设计的角度来看,我会: 使用路径中指定的不同服务创建一个API端点。例如http://api.example.com/service1,http://api.example.com/service2等 让一个端点在后台处理OAuth和独立服务的

例如,登录页面将位于其中一个系统中

当一个系统中经过身份验证的用户转到另一个系统时,应该执行什么程序?由于它是经过身份验证的,所以它应该只是通过身份验证,但是在这个场景中OAuth做了什么,并要求做什么呢


谢谢

OAuth并没有明确说明这个场景。但从API设计的角度来看,我会:

  • 使用路径中指定的不同服务创建一个API端点。例如
    http://api.example.com/service1
    http://api.example.com/service2
  • 让一个端点在后台处理OAuth和独立服务的查询
如果你想拥有透明的“独立系统”,比如
http://service1.example.com
http://service2.example.com
您可以。但是要确保有一个域来处理整个OAuth流,并且每个API端点都能够处理OAuth请求,并且能够访问必要的用户和令牌数据库来验证请求

举个例子,您可以:

  • 接收对
    http://service1.example.com
  • 如果
    service1
    可以访问用户和令牌数据库,则可以立即验证请求
  • 或者,您可以将请求转发给OAuth服务进行验证
  • 然后继续提供响应
  • 或者我的选择(我认为更好):

  • 有一个处理OAuth的API端点
  • 并在验证后在后台调用不同的服务

  • OAuth没有明确地说明这个场景。但从API设计的角度来看,我会:

    • 使用路径中指定的不同服务创建一个API端点。例如
      http://api.example.com/service1
      http://api.example.com/service2
    • 让一个端点在后台处理OAuth和独立服务的查询
    如果你想拥有透明的“独立系统”,比如
    http://service1.example.com
    http://service2.example.com
    您可以。但是要确保有一个域来处理整个OAuth流,并且每个API端点都能够处理OAuth请求,并且能够访问必要的用户和令牌数据库来验证请求

    举个例子,您可以:

  • 接收对
    http://service1.example.com
  • 如果
    service1
    可以访问用户和令牌数据库,则可以立即验证请求
  • 或者,您可以将请求转发给OAuth服务进行验证
  • 然后继续提供响应
  • 或者我的选择(我认为更好):

  • 有一个处理OAuth的API端点
  • 并在验证后在后台调用不同的服务

  • 乔恩,谢谢你的回答。和编辑:)我知道我要求的是一些非常具体的东西,实现可能会有所不同,但我认为我可能会得到一个“最佳实践”解决方案。我肯定会有一个OAuth服务器来处理整个流程。但例如,如果用户在system1上经过身份验证并尝试访问system2。oauth_令牌将被传输到system2,但在oauth中,此令牌对system2无效。我想。。。OAuth应该向system2发出一个新的令牌,但不要求新的登录名。。。简而言之,这就是我的看法。这有多准确?最好的办法是集中处理身份验证,这样每个服务都可以“请求”对发送给它的凭据进行验证。通过在每个端点上实现OAuth并访问相关数据进行验证,或者通过实际请求特殊的“验证我的OAuth凭据”服务。Jon,感谢您的回答。和编辑:)我知道我要求的是一些非常具体的东西,实现可能会有所不同,但我认为我可能会得到一个“最佳实践”解决方案。我肯定会有一个OAuth服务器来处理整个流程。但例如,如果用户在system1上经过身份验证并尝试访问system2。oauth_令牌将被传输到system2,但在oauth中,此令牌对system2无效。我想。。。OAuth应该向system2发出一个新的令牌,但不要求新的登录名。。。简而言之,这就是我的看法。这有多准确?最好的办法是集中处理身份验证,这样每个服务都可以“请求”对发送给它的凭据进行验证。通过在每个端点上实现OAuth并访问相关数据进行验证,或者通过实际请求特殊的“验证我的OAuth凭据”服务。