问题标签 [3scale]

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.

0 投票
1 回答
618 浏览

api - How to use 3Scale's `authrep` function from a server and client perspective?

I'm attempting to setup a prototype API using nodejs that uses 3Scale's API management.

I've been able to find their plugin intergration code, which is as follows:

Which makes some sense to me as part of a server module. But, I'm not sure where the client's credentials are in that equation....

I see it as the client is pointing to your app, and here's the password for the app...but what about the username/password for the actual client!? where does that get checked?

I feel like I'm not grasping their architecture (possible because it's my first real node project and definitely my first time using 3Scale)...

Further, what's a client's request then look like?

0 投票
1 回答
4204 浏览

wso2 - Mashery vs WSO2 vs 3scale

我想知道 Mashery、WSO2 和 3scale 之间的区别。有用过 API Managers 的朋友可以给点意见吗?各有什么优缺点

谢谢

干杯

0 投票
1 回答
2945 浏览

http - 使用 Nginx/Lua 检测 HTTP Basic 用户/密码标头并将其重写为自定义标头

我正在使用一个历史 API,它通过密钥/秘密组合授予访问权限,指定的原始 API 设计器应作为 HTTP 基本身份验证标头中的用户名和密码传递,例如:

现在我们的 API 客户群正在增长,我们希望使用3scale来处理身份验证、速率限制和其他功能。根据 3scale 的说明和建议,我们将在 API 服务器前使用 Nginx 代理,该代理针对 3scale 的服务进行身份验证以处理所有访问控制系统。

我们将把我们现有客户的密钥和秘密导出到 3scale 并保持两个系统同步。我们需要我们现有的应用程序继续以现有方式接收密钥和秘密,因为一些返回的数据是特定于客户端的。但是,我需要找到一种方法将 3scale 本身不支持作为身份验证方法的 HTTP 基本身份验证请求转换为他们所做的重写的自定义标头。

我已经能够使用 3scale 为您配置的 Nginx 和 Lua 配置设置代理。这允许将-u key:secret其传递到我们的服务器并正确处理。不过,目前,我需要另外添加相同的身份验证信息作为查询参数或自定义标头,以便 3scale 可以管理访问。我希望我的 Nginx 代理为我处理这个问题,以便用户以预先存在的方式提供一组身份验证详细信息,并且 3scale 也可以获取它。

在我知道的语言中,例如 Ruby,我可以解码 HTTP_AUTHORIZATION 标头,挑选出 Base64 编码的部分,然后对其进行解码以找到已提供的密钥和秘密组件。但我是 Nginx 新手,不知道如何在 Nginx 中实现相同的功能(我也不知道 3scale 提供的 Lua 脚本是否可以/将成为解决方案的一部分)......

0 投票
3 回答
26698 浏览

nginx - 如何使用 Nginx 和 Lua 操作 POST 请求的 JSON 正文?

我正在做一个概念证明来演示我们如何在我们的堆栈中实现3scale 。在一个示例中,我想做一些 POST请求正文操作,以创建一个 API 外观,将可能是旧 API 格式的内容映射到新的内部格式。例如。改变类似的东西

进入

content_by_luaLua 模块文档,这似乎是合适的方法

不要在同一位置使用此指令和其他内容处理程序指令。例如,此指令和proxy_pass指令不应在同一位置使用。

我的理解是 content_by_lua 是一个类似于 proxy_pass 的内容处理程序,每个位置只能使用其中一个。

我认为没有任何方法可以删除proxy_pass,因为这是代理工作的基础,所以是否可以在单独的位置捕获请求,使用content_by_lua,然后传递到实现proxy_pass的位置,或者是否有不同的方法,如rewrite_by_lua哪个更合适?


如果它对其他人有帮助,我添加了以下函数(我的 Lua 的第一个位),它删除了user_key3scale 授权所需的参数,但如果转发则对我们的 API 无效:

0 投票
1 回答
260 浏览

nginx - 如何连接 nginx、3scale 和 opendaylight 控制器?

我正在使用带有 Ubuntu 来宾操作系统的 Ubuntu 机器。在来宾操作系统上,我运行了我的 OpenDaylight 控制器,使用 Mininet 制作拓扑,并在 OpenDaylight GUI 的 localhost:8080 中查看它们。接下来,我在 Chrome 浏览器上使用 Postman REST API 客户端扩展向我的 ODL 控制器发出 GET 请求:

localhost:8080/restconf/operational/opendaylight-inventory:nodes/

我得到了 XML 格式的正确响应。现在,我必须通过 NGINX 代理将我的请求传递给 3Scale,并使用 app_id 和 app_key 参数进行身份验证。然后将请求转发到 ODL 控制器,以便我得到正确的响应。

我已经从 NGINX 下载了代理配置文件。必须对这些文件进行哪些修改?我在 Postman Client 中输入的请求应该是什么以获得与以前相同的响应?

0 投票
1 回答
167 浏览

api - 使用 API LM 工具构建 API

我是 API LM 的新手,对使用 apigee、3scale、mashery、mulesoft、TIBCO APIX 等工具构建 API 感到困惑

这些年来,我知道 API 都是关于一种语言的 API 或 SDK,您可以使用它来编写/构建代码/应用程序来解决业务问题。说 Java API 或 J2EE API 等

我是否必须使用我的应用程序/系统构建自己的数据服务并将其公开为服务 (WS/REST) 并使用上述工具(apigee、3scale、mashery、mulesoft ec)或者这些工具是否允许开发人员从划痕?

换句话说,我是否在您的企业内创建您自己的应用程序(无论是基于 Java、DB 还是 .Net 服务或托管在 weblogic 上的 Web 应用程序)并将其公开为 B2D 或 DX 的 API(具有身份验证、分析、门户、开发人员访问)称为“构建 API”?

0 投票
1 回答
1112 浏览

chef-infra - 使用 AWS Opsworks 配置 Nginx

我已经安装了openresty食谱,但现在我需要安装我的配置文件。使用 Chef 添加我的 nginx.conf 和 nginx.lua 文件的最佳方法是什么?

0 投票
0 回答
631 浏览

lua - Lua 变量即使设置为 nil

我正在尝试修改 3scale 提供的 lua 文件。我不断收到以下错误:

导致此错误的代码块是:

如果我放置ngx.var.access_token = params.access_token .. ":" .. params.user_idget_credentials_access_token(params, service_ID)错误不会发生。什么可能导致这种行为?

编辑:
原始文件可以在https://github.com/3scale/nginx-oauth-templates/blob/master/oauth2/implicit-flow/token-generation/nginx.lua找到

0 投票
1 回答
280 浏览

swashbuckle - 将 Swashbuckle (swagger) 导入 3scale ActiveDocs

我们目前在 .net (webapi) 上使用 Swashbuckle 记录了我们的 api,有什么方法可以将此文档导入 3scale ActiveDocs?

提前致谢

0 投票
2 回答
2868 浏览

nginx - WebSocket 的 API 网关

我的 websocket 应用程序需要一个 API 网关。

  1. 分析和识别来自特定 IP 的异常请求
  2. 配额和速率限制
  3. 统计数据
  4. 免费或商业
  5. 扎实的表现

我的 WebSocket 的子协议是 WAMP,所以恐怕没有现有的产品可以完成这项工作。

我打算开发一个并假设它会以这种方式工作:

在此处输入图像描述

  • 在我的客户端应用程序和我的 websocket 服务器之间安装了一个代理(NGINX 或 HAProxy)
  • 代理将请求/响应复制到另一个应用程序,我称之为monitor
  • monitor应用程序分析流量并控制代理以限制/阻止某些 IP。
  • monitor应用程序同时运行,如果它关闭,它不会影响我的应用程序和代理。

这种方法听起来可行。但代理似乎不支持重用上游连接到monitor.

假设从代理到客户端建立了 10K 连接,那么代理也建立 10K 连接作为上游到monitor应用程序?这是不可接受的。

我希望代理之间只建立一个或多个连接并monitor发送重复的请求/响应。当然,代理会通知monitor每个请求/响应的真实源/目标。

是否有任何代理或产品满足此要求,以便我只需要开发更少?