问题标签 [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 回答
1346 浏览

api - 将 3scale 与共享 OAuth 授权服务器一起使用

我有一个网站mywebsite.com,用户可以在其中登录。登录是通过将未经身份验证的会话重定向到ssologin.com上的 SSO 提供商来处理的,该提供商验证凭据,然后使用访问令牌重定向回 mywebsite.com 以便它可以创建本地会话。

该网站是一个单页 Web 应用程序,它使用 JavaScript 调用通过 API 网关 3scale 公开的 API。

我想了解的是如何让 3scale 兑现颁发给网站的 OAuth 访问令牌。我猜它应该足够简单,因为 3scale 似乎将此委托给授权 URL,但我不确定这背后的机制以及它是否正在做我期望的事情。

谁能解释我是否 - 以及如何 - 我可以做到这一点?我已经阅读了文档,但我无法理解它,因为它掩盖了在授予 OAuth 访问令牌之后发生的事情,并且它没有涉及可能创建令牌的场景-带(即看不见 3scale)。

我认为我想在这种情况下使用的流程是客户端 Web 应用程序/隐式授权流程,但如果我错了,请纠正我。

我试图破译帮助文件,但我仍然有很多问题:

  • 我假设我将 3scale OAuth 登录 URL 配置为与 mywebsite.com 重定向到的 URL 完全相同?或者我是否需要一个不同的页面来处理不同的逻辑,以及 API 调用通常不是交互式/面向用户的事实?
  • 用户通过 ssologin.com OAuth 登录页面登录网站后返回的访问令牌是否可用于后续 API 调用,或者 3scale 是否需要自己的令牌,因此需要自己的登录重定向?(是否有状态存储在网关的任何位置?)
  • 访问令牌如何传递给 API 调用:作为参数、作为 HTTP 标头或通过其他机制?

实际上我想做的实际上是使用 OpenID Connect 并取回一个 ID 令牌,但 3scale 本身并不支持这一点。我可以用 3scale 做些什么来伪造它并仍然返回一个 ID 令牌,从而有效地使其表现得像 OpenID Connect?

0 投票
1 回答
337 浏览

nginx - 使用 Ngnix 和 3scale 缓存不起作用

我正在使用带有默认配置形式 3scale 的 ngnix openreg,并添加了一些内容。无论我做什么,我都会在日志中获取所有缓存 MISS。

来自上游服务器的标头:

Nginx 配置文件:

0 投票
4 回答
1321 浏览

rest - 具有 3scale 的 CORS

我们正在尝试通过 OpenShift 设置 3scale 平台来管理 REST 服务和 JavaScript Web 应用程序之间的 API 访问。身份验证应使用放置在 HTTP 标头中的用户密钥进行管理。这两个应用程序可通过不同的 URL 访问:

所以我们使用 CORS 在 webapp 上实现跨域资源。这引入了浏览器发送的几个 OPTIONS 飞行前请求,没有用户密钥标头,因此从 3scale 收到 HTTP 403 错误。

有没有办法避免这种行为?

0 投票
1 回答
368 浏览

redhat - 3scale API 网关如何与门户通信?

我正在尝试 3Scale API 管理。我希望 API 网关在 Docker 容器中本地运行,并通过 Red Hat 评估使用 3Scale API 门户进行测试。

几个问题:

API Gateway 和 API Portal 之间是如何通信的?

是 API 网关在启动时从 API Portal 请求配置,还是 API Portal 将配置推送到网关?思考的原因是 API 网关位于防火墙后面,并且为了与互联网(API 门户)通信,它使用代理。

如果 API Gateway 与 API Portal 通信 -我如何在 Docker 中配置代理服务器?

0 投票
1 回答
113 浏览

3scale - 如何使 3scale 单点登录以重定向到计划页面?

我想将用户直接重定向到选择了计划的计划订阅页面,所以我该怎么做。

如果您能告诉我如何从 sso 读取参数计划 ID,他也会有所帮助。

0 投票
1 回答
152 浏览

3scale - 如何在 url 路径参数的映射规则中定义模式

当url中有参数时,如何在svc配置中设置映射规则的模式?例如,像这样的 url:http://myaddress/hr/ {deptId}/header,deptId 是部门 id,它是一个动态字符串。我用/hr/*/header测试过,不行,返回404。

0 投票
1 回答
131 浏览

cdn - 我应该在每个应用程序中还是在 api 网关中管理我的缓存控制标头?

这是一个设计/架构最佳实践问题。

我被要求在 API 网关前面放置一个 CDN。我对 CDN 很陌生。

在响应中提供缓存指令并指示 CDN 进行缓存。

从我的角度来看,我有两个选择。

  1. 我的 api 网关支持标头注入策略。此处添加缓存控制策略,由开发者根据他们对 API 工作原理的了解进行配置。

  2. 要求网关后面的每个应用程序实现添加它们的缓存控制标头。

鉴于上述选项,我正在寻找有关如何最好地实施这些要求的意见。

我最初的想法是,缓存控制可能最好通过配置在网关处进行管理。即在 CD 过程中,开发人员根据他们对 API 工作原理的了解配置要部署的 API 策略配置文件。

谢谢

0 投票
2 回答
188 浏览

swagger - Swagger:不允许在 POST 方法上查询参数?

我有一个 Swagger 中描述的 POST 端点,我希望该端点也有查询参数。我们使用 1.2 swagger 格式是因为,嗯,遗留的原因。我们使用 3scale,它托管文档,您可以在其 Web UI 中编辑您的招摇。但是,当我尝试保存文档时,它给了我以下错误。

JSON Spec can not have paramType='body' and paramType='query' on the same method

我在招摇规范中找不到任何说明这是实际限制的内容。这可能是 3Scale 特有的,还是一般的招摇限制?如果是后者,有人可以指出一个规范来澄清它吗?

实际的 REST 端点并不关心,它对 POST 上的查询参数感到满意。它只是让 Swagger 工具变得快乐。这是 swagger 文档的缩写片段:

0 投票
1 回答
41 浏览

3scale - 使用 3scale 请求聚合可能性

我开始用spring开发一个应用程序。我们正在检查一个 api 网关,我们肯定会选择 3scale。

我正在检查请求聚合,但我不知道如何使用 3scale

0 投票
1 回答
208 浏览

api - 刚刚在 Openshift 集群中安装了 3scale API 管理,我看不到自管理网关

使用此处提供的模板:- https://github.com/3scale/3scale-amp-openshift-templates/blob/master/amp/amp.yml

在集成选项卡下,我看不到 APICast 自我管理网关选项的选项。

缺少自管理 APICAST