问题标签 [api-gateway]
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.
json - 如何获取 Lambda API 的通用响应格式?
我将 Node.js 用于 AWS Lambda + API Gateway API。
我有多个 Lambda 函数,每个函数都提供不同的响应格式,因为它集成了多个第三方 SDK,如 Stripe/DynamoDB 等。
有什么方法可以为下面的所有功能获得共同的响应?
amazon-web-services - AWS API Gateway - AWS 服务集成 - 执行角色继承
API Gateway AWS 服务集成配置中的是否可以Execution role
从正在运行的用户继承策略权限。
目前,我们正在为 API auth 使用自定义授权器,它的输出返回一个带有statementOne.Action = 'execute-api:Invoke'
. 将 API Gateway 与 S3 等其他 AWS 服务集成时,是否可以限制或增加 API 的权限。
例如,是否可以有一个带有 API Gateway S3 代理的自定义授权方并设置条件 IAM 策略以仅允许 userId(通过 设置principalId
)获取前缀为 userId 的 S3 对象???
从此处获取的 AWS 文档中查看此图像中的执行角色;
microservices - API网关模式和BFF有区别吗?
我的理解是 API 网关模式就像是所有微服务的代理。所以客户端调用 API 网关来处理进一步的路由。BFF 是 API 网关模式的一个特定案例,我们为每种类型的客户端都有一个路由机制。我对吗?
microservices - 在 api 网关级别或微服务级别合并数据?
我正在使用 API 网关来公开微服务资源。
我有以下情况(尽可能简化)
微服务A - serve 在 /product-prices/{id} 上提供产品价格
微服务 B - 在 /product-availability/{id} 上提供产品可用性
为了获得产品价格和可用性,我需要执行以下操作
a) 让微服务 A 依赖于微服务 B 并拥有 /product-prices-and-availability/{id} 端点
或者
b) 让 API 网关消费微服务 A 和微服务 B 以提供价格端可用性资源
基本上我的问题是我应该在微服务级别还是在 api 网关级别合并数据?
authentication - 如何让 OAuth 2.0 正确地在我的自定义 API .net 核心中使用外部 API
我想在后台创建一个自定义 API,调用使用 OAuth 2.0 进行身份验证的其他 API 的编号。我想在内部对此进行管理,以便我的自定义端点对此有所抽象。
或者首先我想做缓冲区(https://buffer.com)之类的应用程序 - 您连接到不同的社交服务并发布您的状态。
如何在 .NetCore 中实现这一点?我不想用这些登录(很多示例都适合这种情况),用户登录与此不同。我只想建立这些连接(如果您查看 Azure API 管理,就像 API 连接),然后对这些端点执行一些操作。
我希望我能传达我的观点。如果不清楚,请告诉我。
谢谢桑杰
iframe - 客户端可以绕过API网关调用前端微服务吗?
我们的系统是使用微服务构建的,所有微服务都位于 API 网关后面。由于它们都是 REST API 服务,我很清楚使用 API 网关的好处和重点。现在,前端微服务(既具有 UI 又具有相应后端来处理内部通信的小组件)呢?是否存在代理每个微服务 HTTP 调用有害的情况?
例子
我们的微服务之一是支付提供商集成。由于处理支付有特定的规定,其中之一是需要将网络浏览器重定向到用户的银行页面以进行授权。由于这不可能以纯粹的后端方式进行,因此我们提供前端微服务- 一种本质上提供 HTML 的服务,您必须嵌套在 iframe 中,并且应该能够以 e2e 方式处理付款。下面是非常简化和剥离的示例。
假设您正在使用https://acme.com/order
并想要付款,其中嵌入了这样的代码段:
对于https://acme.com
. iframe 内部发生的事情会保留在那里。https://pay.acme.com
但是现在担心:收集信用卡详细信息,验证它们,将用户重定向到银行页面以输入 2FA 代码或任何需要的内容,等到付款被批准,最后将用户返回到returnUrl
付款顺序的正确路径最终确定(orderId
)。
现在,pay.acme.com frontend <-> pay.acme.com backend
沟通呢?是否可以让微服务与自己对话,或者更确切地说,所有的,甚至是对 API 消费者没有任何意义的内部通信,都必须通过 API 网关?这当然是可以做到的,并且仍然保持微服务解耦并且不知道 API 网关,但这比偏离始终执行约束并带来非常小的好处要昂贵得多,因为我们不使用任何高级速率限制或现在代理功能。
android - 如何将 AWS API Gateway 生成的 SDK 与 Android Volley 一起使用
我正在使用带有访问密钥、秘密密钥和 api 密钥的 IAM 安全 API 网关。我之前使用的sdk如下:
这工作正常。
我的问题是如何将 SDK 与 Android volley 库(StringRequest/JSONObjectRequest)一起使用。我不想手动计算 aws 授权签名并将其添加到标头,而是我想使用 sdk。
注意:我不想使用 AWS 推荐的输出模型,因为我没有映射响应。
提前致谢。
达维特
api - 使用带有 KONG API 网关的 cookie 进行 JWT 身份验证
我们正在使用带有 JWT 身份验证插件的 Kong API 网关实现示例应用程序。
正如在这个线程中提到的,有两种方法可以在浏览器中存储 JWT。网络存储或 cookie。但是网络存储(即会话存储和本地存储)很容易受到跨站脚本攻击(XSS)的攻击。所以其他选择是cookie。(虽然应该注意 CSRF)
我有两个问题,
如果我们使用Web 存储来存储 JWT,那么有什么方法可以阻止 XSS。如果是,那么如果在新选项卡中打开同一页面或重新加载同一页面,它将如何工作?
使用 cookie:我们能够在请求中发送 cookie。但是,只有在标头( )上设置
Authorisation: Bearer token
了 JWT并且不使用 cookie 进行身份验证时,KONG 才会对端点 URL进行身份验证。有什么方法可以验证使用 KONG API Gateway 在 cookie 中设置的 JWT 吗?
rest - SOAP to Rest 网关的最佳解决方案
我有一个需要转换为 Rest 的 SOAP API。我需要帮助寻找解决方案来管理从 SOAP 到 Rest 的翻译。
我已经实现了一组新的 Restful API,将曾经操作多个对象的单个 SOAP 请求转换为专注于单个对象的单个 Rest 调用。
例如:
在单个 Soap 调用 createUser() 中: 1. 创建用户个人资料信息 2. 创建帐户 3. 发送欢迎电子邮件
现在将其分解为三个调用:
- 创建个人资料()
- 创建账户()
- 通知用户()
我正在寻找的基本内容:
- 允许将 SOAP API 转换为 Rest API
- 允许将单个 SOAP 请求转换为多个 Rest API 请求
- 管理链式 Rest API 请求(如果一个 SOAP 调用导致多个 Rest 调用,我们需要管理第一个调用成功,但第二个调用失败)
- 需要映射所有错误消息
- 需要可扩展
有商业解决方案(Apigee)和开源解决方案(Kong)。
我的问题是:
- 什么解决方案会奏效?
- 我应该首先使用哪些解决方案进行 POC?
谢谢!
amazon-web-services - SAM Lambda event with an explicit API as the event source
I am trying to set up an event on my lambda function in my SAM template, but I want the event source to be an explicit API endpoint.
The documentation shows an event with an implicit API as an event source:
This would be the explicit API definition:
How do I explicitly set the event source to be MyApi?