我们的 OAuth 服务器将与处理实际受保护资源的服务器分开,本质上位于几个不同系统的中间,每个系统都拥有受保护的资源。
例如,登录页面将位于其中一个系统中。
当一个系统中的经过身份验证的用户转到另一个系统时应该是什么程序?既然它已经过身份验证,它应该只是通过,但在这种情况下 OAuth 做了什么,并要求什么?
谢谢
我们的 OAuth 服务器将与处理实际受保护资源的服务器分开,本质上位于几个不同系统的中间,每个系统都拥有受保护的资源。
例如,登录页面将位于其中一个系统中。
当一个系统中的经过身份验证的用户转到另一个系统时应该是什么程序?既然它已经过身份验证,它应该只是通过,但在这种情况下 OAuth 做了什么,并要求什么?
谢谢
OAuth 没有明确说明这种情况。但从 API 设计的角度来看,我会:
http://api.example.com/service1
等http://api.example.com/service2
。如果你想拥有透明的“独立系统”,http://service1.example.com
你http://service2.example.com
可以。但请确保拥有一个域来处理整个 OAuth 流程,并且每个 API 端点都能够处理 OAuth 请求并有权访问必要的用户和令牌数据库来验证请求。
举个例子,你可以:
http://service1.example.com
。service1
可以访问用户和令牌数据库,您可以立即验证请求。或者我的替代方案(我认为更好):