【发布时间】:2021-03-08 16:14:34
【问题描述】:
在我的项目中,我目前有一个以这种方式工作的旧式身份验证:
- 有一个客户端(独立)与
API service通信,API service是在容器中运行的自定义应用程序。 - 使用了支持 OAuth 和 PKCE 的云身份提供商 (IdP)。当用户进入登录页面然后被重定向到回调时,它通过通常的登录过程提供其令牌。
-
API service充当回调的接收者。因此,它获取身份提供者token-1并将其存储在缓存中。基于此,它向客户端返回修改后的token-2“计算”来自token-1,但不同。 - 一旦客户端需要进行 REST 调用,它会使用
token-2JWT 令牌对其进行装饰。调用会转到与token-1匹配的 API 服务,然后可以针对 IdP 进行验证。
我需要使用云原生机制摆脱 API service。我假设 AWS HTTP API 网关可以使用其JWT Authorizer capability 直接与 IdP 集成。很遗憾,我无法影响必须保持功能的当前遗留流程。
但是,我想在 JWT 授权方和客户端端点之间插入一个 Lambda,它将面向客户端的令牌交换为 IdP 令牌(执行 API service 正在执行的操作)。这可能吗?我该如何处理?
【问题讨论】:
标签: jwt jwt-auth amazon-api-gateway lambda-authorizer