使用 OAuth2 的 API 网关的客户端凭据 [关闭]

Posted

技术标签:

【中文标题】使用 OAuth2 的 API 网关的客户端凭据 [关闭]【英文标题】:Client credentials for a API Gateway using OAuth2 [closed] 【发布时间】:2020-12-22 07:07:43 【问题描述】:

我正在尝试了解使用 OAuth2.0 的微服务架构。我已经了解 OAuth2.0 的工作原理。我看到其中一种授权类型是客户端凭据,它需要客户端 ID 和客户端密钥,并在此帮助下生成访问令牌。

这可能是一个愚蠢的问题,但我仍然无法理解如何将它集成到我的应用程序中。

我有 10 个客户端正在尝试调用我的 API 网关。

客户是否应该拥有不同的客户凭据?他们是否需要调用授权服务器来生成访问令牌?还是他们将客户端凭据发送到 API 网关以生成访问令牌并继续进行?

客户端凭据应该存储在哪里?

请帮助我理解。

非常感谢。

【问题讨论】:

【参考方案1】:

他们是什么类型的客户?

网络/移动用户界面? 来自业务合作伙伴的后端 API 客户端?

无论哪种情况:

客户端将从授权服务器获取令牌 API / 网关将只接收令牌 - 从不接收凭据

对于后端 API 客户端,您可以在授权服务器中为每个客户端配置一个客户端 ID 和密码,然后将其发送给每个客户作为入职他们的一部分。

【讨论】:

它们是 Web UI。那么,我的应用程序将如何授权令牌?我怎么知道请求被授权了 例如,如果我有1000个客户,他们都需要在授权服务器下注册吗? 如果有 1000 个最终用户使用一个应用程序,您将注册一个 OAuth 客户端。该应用程序将使用授权代码流从 Auth 服务器获取令牌。令牌将被发送到需要对其进行验证的 API。或许可以阅读我的 OAuth Messages 博客文章,看看它是如何组合在一起的 谢谢加里。我去看看。

以上是关于使用 OAuth2 的 API 网关的客户端凭据 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

OAuth2“客户端凭据流”的浏览器测试工具

OAuth 2.0 多范围(客户端凭据案例)

如何使用oAuth2“资源所有者凭据授予”IOS APP?

Java Spring Security OAuth2:通过 POST 接受客户端凭据

重复使用 Oauth2 凭据来访问 YouTube api [关闭]

Kong + Keycloak + OAuth:jwt-keycloak 还是 oauth2 插件?