问题标签 [kong]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
api - 使用 Firebase OAuth 保护 RESTful API?
我在我的 iOS 和网络应用程序中使用 Firebase 来处理用户身份验证。我需要确保用户登录后才能向我的 API 发出任何请求。我将如何使用 Firebase 完成这样的事情?
我正在考虑使用 Kong - https://getkong.org - 作为我的 API 的中间人。Kong 有一些与验证传入请求相关的选项 - https://getkong.org/plugins。Firebase 有什么用?智威汤逊认证?OAuth 身份验证?密钥认证?
你能指出一个基本例子的方向吗?或者给我一个关于我应该寻找什么的基本概述?
amazon-web-services - kong 和 AWS 市场
这两种技术都是新手。我正在尝试执行以下步骤
1) 使用 aws 市场安装 Kong 我只需在 getkong.org 上单击安装,然后选择 AWS 市场
2)我在英国。所以选择地区作为爱尔兰,因为我没有任何其他地区可供选择。然后点击手动启动
我打开 ec2 管理控制台选择了免费层 t2.micro
我给了我的 Windows IP 并创建了安全组并进行了指示,但我收到了错误不支持此 AWS Marketplace 产品的实例配置。有关支持的实例类型、区域和操作系统的更多信息,请参阅http://aws.amazon.com/marketplace/pp?sku=8enaazwzxnn2uypvc4p8u39da 。
authentication - Kong Request Transformer,动态值,取自 Redis
我需要根据此处解释的内容为我的微服务实现基于 Oauth 2.0 和 JWT 的安全机制:http: //nordicapis.com/how-to-control-user-identity-within-microservices/
我使用 Kong (getting.org)。
在某些时候,根据上面文章的方法,我的网关(在本例中为 kong)必须将访问令牌转换为 JWT,然后再将请求移交给最终的微服务(JWT 将包含在最终要求)。
这种翻译将是一个简单的查找,最好是 Redis。
Kong中有一个名为“请求转换器”的插件,它允许您修改标头。:https ://getkong.org/plugins/request-transformer/
但是,它(当前)不允许动态值(例如在 redis 上查找的值)。
有人知道Kong的这种插件吗?
快速谷歌搜索让我进入了这个讨论:https ://gitter.im/Mashape/kong/archives/2015/08/06
想知道是否有人可以给我一些类似并且已经工作的指针。
谢谢,拉卡
oauth-2.0 - provision_key 没有进入 kong oauth2
我尝试将kong api
manager 与oauth2一起使用。根据文档,我在其中进行了 api 注册,并向该服务kong
添加了oauth2插件,但provision_key
没有出现在我的回复中。请帮忙
load-balancing - KONG API 网关中的负载均衡
我们在 Kong API 网关后面有多个微服务实例,我们希望在其中平衡用户请求的负载。
假设微服务 1 在多个实例中相乘,这些实例保存在 KONG API 网关后面;在这种情况下,来自用户 1 的请求应该命中第一个实例,来自用户 2 的请求应该基于它们的可用性(负载平衡)命中同一服务的其他实例。(即)我是否可以在 kong 中为单个 API 提供多个上游 URL。我们不想使用 nginx 进行负载平衡。请建议我们如何解决它。
lua - Kong:在 kong 数据存储中存储业务逻辑和/或业务数据是个好主意吗?
我了解 Kong 使用的数据存储用于持久存储配置以启用水平扩展。
我想知道的是,是否也可以将实际业务数据存储在 api 网关的数据源本身中,并根据从该数据源读取的数据路由 api。
例如。如果用户过去购买了 3 位不同的作者,我只想向他显示这些作者的所有书籍的列表。这里的订单历史是业务数据,只给他看那些作者的书是业务逻辑。
请求通过api网关后,我可以正常获取用户的订单历史,然后显示所需的数据。
但是是否可以在 kong 数据源中保存用户的订单历史记录并在 lua 中编写一个自定义插件,该插件将从网关本身获取用户的作者列表并将作者的 id 传递给所需的模块,然后可以只是展示那些作者的书?
如果可能的话,这样做是否可取?
kong - Kong 用于具有公共和私有资源的单一服务
为服务启用身份验证插件后,其所有资源都需要身份验证,如果我想将某些资源列入白名单并公开它们该怎么办。
docker - 如何将 kong 服务器与 etcd 或 consul 一起使用?
我想使用 kong 来管理微服务或 API,但是 kong 找不到使用 docker 构建的新微服务。那么kong可以和etcd或者consul一起工作吗?</p>
api - 需要有关具有自我管理用户数据库的 Kong 和 OAuth 的帮助
我需要使用 Kong 和 OAuth 来构建 Web 应用程序和其他一些 API。
我现在有:
- Kong的服务器。
- 服务器存储用户信息,例如 id、用户名、密码。将其命名为用户数据库。
我需要:
- Web 应用程序和其他一些应用程序将使用带有 OAuth2.0 的 API;
- API 仅由 Kong 提供。
根据 Kong 上的文档,我设计了一个资源所有者密码凭证,它是这样的:
(这些API只是为了获取accessToken,没有认证方法)
- 用户端发布用户名和密码到Kong
- Kong 将其路由到用户数据库。
- User-Database 验证用户名和密码,并向 Kong 发出请求。该请求将包括用户名、密码、provision_key、autherticated_userid。(*)
- Kong 将向 User-Database 响应 access_token,并且还会记住 autherticated_userid、access_token 和范围。Kong 会在访问令牌过期之前记住它们。
- User-Database 收到 Kong 的响应后,也会响应 step 1 和 2,最后 User-End 会得到 access-token 以备后用。
(获得访问令牌)
- 用户端将向需要身份验证的 API 发送请求。
在第 3 步有一些我无法理解的东西。
根据关于Kong的文件:
$ curl https://your.api.com/oauth2/token \
--header "Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW" \
--data "client_id=XXX" \
--data "client_secret=XXX" \
--data "scope=XXX" \
--data "provision_key=XXX" \
--data "authenticated_userid=XXX" \
--data "username=XXX" \
--data "password=XXX"
The provision_key is the key the plugin has generated when it has been added to the API, while authenticated_userid is the ID of the end user whose username and password belong to.
我应该将所有用户的信息都存储到我的自我管理的用户数据库和 Kong中吗?
或者有什么我错过的或者我可以优化的吗?