我们目前正在分析微服务的API网关,Kong是可能的候选者之一。我们发现Kong支持几个插件进行身份验证,但都是基于存储在Kong数据库中的用户。我们需要将此职责委派给我们的自定义auth HTTP服务,并且不希望将这些用户添加到API网关数据库中。
发布于 2017-09-17 16:00:17
可以使用一些代码来实现这一点,而不是使用API插件;实际上,您需要实现一个授权服务器,它通过管理(8001)端口与Kong对话,并授权使用外部给定的OpenID。
简而言之,它如下所示(这里是授权码授权):
/authorize端点)/oauth2/authorize端点(端口8443)。包括供应密钥;请注意,您可能需要通过Admin API查找应用程序客户端id的客户端机密,以使此工作POST到/oauth2/authorize;这些值将被添加到使用访问令牌的后端调用中,该应用程序现在可以使用授权码来声明访问令牌,/oauth2/token.)获取访问令牌(和刷新令牌
这听起来比实际情况更复杂。我为基于Kong和node.js的wicked.haufe.io做了这件事,并向Kong添加了一个开源开发人员门户。下面的两个项目中有很多代码,它们展示了可以做什么来与任何IdP集成:
我们目前正在调查是否也可以添加一个默认的授权服务器到wicked,但现在你必须自己创建一个。
也许这会有帮助,马丁
发布于 2017-08-11 11:48:14
查看孔令行的OpenID连接插件getkong.org/plugins/openid- Connect -rp - it可以连接到外部身份和认证系统。
https://stackoverflow.com/questions/45619686
复制相似问题