在HTTP API网关中使用授权者时用另一个JWT令牌替换JWT令牌

在HTTP API网关中使用授权者时用另一个JWT令牌替换JWT令牌,jwt,jwt-auth,amazon-api-gateway,lambda-authorizer,Jwt,Jwt Auth,Amazon Api Gateway,Lambda Authorizer,在我的项目中,我目前有一个遗留身份验证,其工作方式如下: 有一个客户端(独立客户端)与API服务对话,后者是在容器中运行的自定义应用程序 使用云身份提供程序(IdP)支持带有PKCE的OAuth。当用户转到登录页面,然后重定向到回调时,它通过通常的登录过程提供其令牌 API服务充当回调的接收者。因此,它获取身份提供者令牌-1,并将其存储在缓存中。基于此,它向客户端返回一个修改的token-2“计算”自token-1,但不同 一旦客户机需要进行REST调用,它就会使用token-2JWT令牌对其进

在我的项目中,我目前有一个遗留身份验证,其工作方式如下:

  • 有一个客户端(独立客户端)与
    API服务
    对话,后者是在容器中运行的自定义应用程序
  • 使用云身份提供程序(IdP)支持带有PKCE的OAuth。当用户转到登录页面,然后重定向到回调时,它通过通常的登录过程提供其令牌
  • API服务
    充当回调的接收者。因此,它获取身份提供者
    令牌-1
    ,并将其存储在缓存中。基于此,它向客户端返回一个修改的
    token-2
    “计算”自
    token-1
    ,但不同
  • 一旦客户机需要进行REST调用,它就会使用
    token-2
    JWT令牌对其进行修饰。调用转到API服务,该服务将其与
    token-1
    相匹配,然后可以根据IdP对其进行验证
  • 我需要摆脱带有云本地机制的
    API服务。我假设AWS HTTP API网关可以使用its直接与IdP集成。遗憾的是,我不能影响当前必须保持功能的遗留流程


    但是,我想在JWT授权人和客户端端点之间插入一个Lambda,它将进行面向客户端的令牌到IdP令牌的交换(做API服务
    正在做的事情)。这可能吗?我该如何处理这个问题?

    听起来您需要创建一个Lambda授权人(正式称为自定义授权人),而不是使用默认的JWT授权人

    您可以在其中编写自己的逻辑,包括验证令牌和执行您提到的其他步骤