V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
franklinre
V2EX  ›  Amazon Web Services

如何从 api gateway 中获取用户信息?

  •  
  •   franklinre · 2022-12-01 13:47:12 +08:00 · 1738 次点击
    这是一个创建于 721 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我现在在使用 amazon aws 。 angular 用 cognito 获取 idToken ,在 api 请求中放入 header -> Authorization:Bearer idToken ,amazon api gateway 会验证我的 idToken 是否有效,若有效会把请求转发至 ECS 部署的后端。 现在的问题是,api gateway 不会把 Authorization header 一起转发到后端,所以,现在不知道怎么在后端获取用户信息。 该怎么办呢? 是不是 amazon api gateway 可以解析 idToken 成用户信息,并转发到后端?如果是的话,大概要怎么做?

    5 条回复    2022-12-05 09:28:12 +08:00
    adoal
        1
    adoal  
       2022-12-01 13:55:47 +08:00
    不清楚 amazon 的 api gateway 是怎么做的。只用过 Kong ,会把 consumer 的身份通过 http header 传给后端。

    X-Consumer-Id
    X-Consumer-Username
    X-Consumer-Custom-Id
    X-Credential-Username
    X-Consumer-Groups
    crazywind
        2
    crazywind  
       2022-12-01 14:33:18 +08:00
    后端是集成的 aws sdk 吗?
    franklinre
        3
    franklinre  
    OP
       2022-12-01 15:20:36 +08:00
    @crazywind 还没有。是 aws sdk 可以实现吗?如果是的话,也可以集成进去。
    dayeye2006199
        4
    dayeye2006199  
       2022-12-01 15:21:06 +08:00 via Android
    写个 lambda 把 idtoken decode 出来,信息放在头文件里
    crazywind
        5
    crazywind  
       2022-12-05 09:28:12 +08:00
    我们后端用的 ts ,集成的 sdk ,用 APIGatewayEvent 这个类型定义个参数,token 就会在它的 headers 属性里面
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3685 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:14 · PVG 08:14 · LAX 16:14 · JFK 19:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.