Rah*_*arg 4 authentication kong api-gateway
我们目前正在为我们的微服务分析 API 网关,Kong 是可能的候选者之一。我们发现 Kong 支持多种身份验证插件,但所有插件都基于存储在 Kong 数据库本身中的用户。我们需要将此责任委托给我们的自定义身份验证 HTTP 服务,并且不想将这些用户添加到 API 网关数据库中。
可以使用一些代码来做到这一点,而不是使用 OpenID 连接插件;实际上,您需要实现一个授权服务器,它通过 Admin (8001) 端口与 Kong 对话,并授权使用具有外部给定用户 ID 的 API。
简而言之,它如下(此处为授权代码授予):
/authorize
实际上实现了终点)/oauth2/authorize
您的 Kong 网关(端口 8443)的端点,包括配置密钥;请注意,您可能还需要通过 Admin API 查找应用程序客户端 ID 的客户端密钥才能完成此工作POST
to 中包含客户端 ID、客户端机密、经过身份验证的用户 ID(来自您的自定义 IdP)和可选范围/oauth2/authorize
;这些值将使用应用程序现在可以使用授权代码声明的访问令牌添加到对 API 的后端调用/oauth2/token
。这听起来比最终更复杂。我为 wicked.haufe.io 做了这个,它基于 Kong 和 node.js,并为 Kong 添加了一个开源开发者门户。以下两个项目中有很多代码展示了如何与任何 IdP 集成:
我们目前正在调查是否还可以向 wicked 添加默认授权服务器,但现在您必须自己滚动/分叉。
也许这有帮助,马丁
归档时间: |
|
查看次数: |
8197 次 |
最近记录: |