问题标签 [api-management]
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.
identityserver4 - 与 IdentityServer4 等外部身份提供者的混搭
Mashery 是否与第三方 OAuth2/OpenID Connect 提供者配合得很好?是否可以将其配置为允许 OAuth2 令牌通过?如果是这样,使用不同的身份提供者会丢失多少 Mashery 功能?
我目前正在使用 IdentityServer4,但很快就会使用 Mashery,我想了解同时使用这两种方法的含义。
api - 用户限制和配额 - 令牌管理
我想为访问我的 API 的用户实施配额,但我不确定我想到的流程是通过简单地阅读多个 API 管理解决方案的文档来完成的方法。
目前,我的流程可以描述如下:
- 用户向应用程序提供凭据
- 该应用程序调用我的授权服务器进行验证。如果成功,则将令牌返回给用户。
- 在以下请求中,应用程序将在访问服务之前针对授权服务器验证令牌(授权标头)。
我的问题是我无法根据令牌实施配额,因为我的用户将能够获得新令牌以避免限制。根据您的经验,是否可以在网关级别按用户管理配额,还是应该更改我的 API 身份验证方法?
此致,
nginx - 带有 Nginx 和 Apache Tomcat 8 (ubuntu 14.04) 的 Tyk 网关
只是想知道在尝试使用 Tyk Dashboard 创建 API 时我在这里缺少什么。
我的设置是:
Nginx 已经在工作,将调用重定向到默认端口 8080 的 apache tomcat。
示例:tomcat.myserver.com/webapp/get/1 200-OK
我之前使用自定义节点端口 8011 设置了 tyk-dashboard 和 tyk-gateway,如下所示:
泰克仪表板:
泰克网关:
/etc/hosts已经配置(不是真的需要):
Tyk Dashboard 配置(这里没什么特别的):
- API 名称:foo
- 监听路径:/foo
- API 蛞蝓: foo
- 目标网址:tomcat.myserver.com/webapp/
我想调用什么 URI?我需要在 Nginx 中添加任何设置吗?
- myserver.com/foo 502 nginx
- myserver.com:8011/foo 没有响应
- foo.myserver.com 502 nginx
(一切都在同一台服务器下运行)
解决了:
Tyk 网关配置不正确。需要在 setup.sh添加--mongo
和删除指令:--domain
因此,调用 curl -H "Authorization: null" 127.0.0.1:8011/foo 我得到:
apiconnect - 跨多个开发人员门户显示所有 API 产品
我创建了两个不同的开发人员门户来分隔我的 API。是否可以在一个门户中查看我所有已发布的产品(来自两个门户)?例如,我希望有一个仅显示我的产品子集的公共开发人员门户,但有一个显示所有产品的内部门户。我怎样才能做到这一点?
azure - Azure APIm 开发者门户中用户的登录/登录信息
我们使用内容菜单项在开发人员门户上添加了一个新的页面/选项卡 xyz,例如产品。如果用户在该页面上导航,如果他没有登录,我想在该页面上抛出错误消息,要求他登录。
有没有办法找到已登录用户的信息或验证某人是否已登录。
通过我们可以找到登录用户的用户名,有一个 html 元素或锚标记,但当用户未登录时,该元素不存在。
azure - 是否可以将订阅密钥查询字符串参数与 Azure API 管理 SOAP 传递一起使用?
我们使用 API 管理来公开几个 API。我们公开的 API 之一被配置为 SOAP-passthrough API,但我们面临一些关于 APIM 身份验证的问题。
当我们使用Ocp-Apim-Subscription-Key
标头传递查询字符串时,一切正常,API 返回的内容正确。
当我们使用subscription-key
查询字符串参数时,API 返回 401 Unauthorized。我在 Postman 中测试了这种行为,改变发送订阅密钥的方式会导致这种行为。
此 API 的一个实现细节是它公开现有的 WSDL 并通过策略将此 SOAPAction 路由到 Azure 函数。在该函数的 Application Insights 中,我可以验证该函数在我得到 401 时从未被调用,但在我成功调用时被调用(使用标头)。
这是正常行为吗?我做错了吗?还是 APIM 中的错误?
api - Mashery API 管理解决方案中流量管理器和端点系统之间的连接
我想知道 Mashery 解决方案是否有可能公开使用 OAuth 2.0 或 Kerberos 保护的后端服务。我的想法是通过 Mashery 流量管理器隐藏此身份验证,对于使用基本身份验证保护的服务,它工作得很好,但对于其余部分,我的管理面板上没有连接器。
谢谢您的回答。
oauth-2.0 - 当后端 API 存在于互联网上并使用 OAuth2 保护时 API 管理产品的用例
背景
我正在开展一个项目,我们正在建立一个集成平台/ESB 以及一个 API 管理产品。
策略是有一个集成层,通过它处理大部分集成。这将各个系统解耦,可以在一个地方控制访问和监控。
我对 API 管理也很陌生,但已经从事企业应用程序集成多年。
设想
在第一个集成中,我们将通过 API 管理平台公开后端 API。后端 API 以及调用应用程序存在于 Internet 上,并且后端 API 使用 OAuth 2(授权类型 = 密码)进行保护。但是,没有发送任何最终用户凭据,这是一种机器对机器的流程。
我们已经获得了客户端和用户凭据,我们的想法是将其从应用程序中抽象出来,应用程序将根据 API 管理产品进行身份验证。
问题
然而,这种情况很难在 API 管理产品中实现,它似乎需要中介,因为 API 网关不能只将请求发送到后端 API,它首先需要获取令牌才能调用 API。
我发布了另一个问题(WSO2 APIM - Backend service uses OAuth 2 with Password Grant),它更关注产品,但我想从更广泛的角度同时询问这种情况。
可能的解决方案
使用 ESB 来调解流向后端 API 的 OAuth 流,并将 API 管理产品作为外观,在其中管理身份验证和其他方面以用于调用应用程序。
问题
- 由于 API 管理产品不支持使用 OAuth 2 对后端 API 进行身份验证,我想知道这种情况是否不寻常?即在使用 OAuth 时抽象出后端 API 身份验证。
- 这是 API 管理产品的用例吗?
- 可能的解决方案是否合理?
wso2 - 如何让 wso2 被另一个 WSO2 实例轮询?
我需要在另一个 wso2 网关上插入一个 wso2 网关(通过代理,但那不是 pb)。如何使用 API_KEY 在第二个 wso2 上对第一个 wso2 进行身份验证?实际上第二个是在原型模式下访问。
也许有人有解决方案?谢谢 !布鲁诺
json - 调用 Azure API mgmt REST API 来更新 swagger API 架构
我正在尝试更新调用 Azure API 管理 REST API 的 API 架构,如下所示:
我没有得到 API 管理的任何回复。
.json 文件采用正确的 swagger 格式,编辑器导出,并包含必要的声明:
API Management 目前支持 1.2 和 2.0 版本的 Swagger 文档进行导入。确保即使 Swagger 2.0 规范声明 host、basePath 和 scheme 属性是可选的,您的 Swagger 2.0 文档也必须包含这些属性;否则它不会被导入。
我究竟做错了什么?