使用 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 网关的客户端凭据 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Java Spring Security OAuth2:通过 POST 接受客户端凭据