【发布时间】:2019-06-10 22:34:44
【问题描述】:
我们计划在两个服务之间进行集成:A 和 B。
A 服务将成为 OpenID 提供者,B 服务依靠它来登录用户并创建新帐户。
A 服务还使用 OAuth 授权通过 REST API 提供对其资源的访问,B 服务使用通过 OpenID 授权代码流获得的 OAuth 访问令牌。
但是,在某些情况下A 想要从B 获取数据。这些服务之间有一个既定协议,A 可以在通过 OpenID Connect 创建的用户范围内访问来自B 的任何数据。
如何为服务B API 设计授权? A 可以在 HTTP 请求中向 B 提供什么?
我正在考虑像经典的 API Key 这样的东西,但在这个工作流程中看起来并不自然。
【问题讨论】:
标签: rest api oauth openid-connect api-design