用于保护 API 的 Oauth Flow

Oauth Flow to protect APIs

我正在为多租户应用程序设计 REST API。我要保护API。多租户应用程序可以由一个租户订阅,而该租户又可以有多个用户使用该应用程序。

我打算为此使用 OAuth。一种可能性是使用 OAuth 的客户端凭证流 - 向订阅该服务的每个租户提供客户端 ID 和密码。

这种方法的问题是,我无法区分租户的不同用户,因为每个人都使用相同的客户端 ID 和密码来获取访问令牌。

另一种选择是使用 OAuth 的授权令牌流。但在这种情况下,我不确定应该如何进行交互,因为它是 API(非 UI)。

此外,这种用例如何用 SAML 解决?

不能。 SAML 规范。无法将 SAML 令牌传递给 API。

如果需要用户上下文,则需要使用授权授予流程。一旦通过身份验证,您就需要一个为 API(范围等)量身定制的 JWT,然后将该 JWT 发送到 API.