【问题标题】:AWS API gateway authorizer cognito useridAWS API 网关授权方认知用户 ID
【发布时间】:2021-06-23 17:38:49
【问题描述】:

https://myapi.execute-api.us-east-1.amazonaws.com/dev/users/userid

我希望我的 cognito 用户只能访问他们自己的 /users/userid

这是否可以使用内置的 cognito API 授权器,还是我需要一个自定义 lambda 授权器来从令牌中提取用户 ID 并将其与路径进行比较?

提前致谢

【问题讨论】:

    标签: amazon-web-services amazon-cognito amazon-api-gateway


    【解决方案1】:

    我认为目前标准的 Cognito 用户池授权者无法做到这一点,但 Lambda 授权者应该可以做到这一点。 Lambda 授权方的输入将包含完整的方法 ARN,其中包括资源路径:https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-lambda-authorizer-input.html

    我建议评估您是否可以通过自定义属性将任何此类用户数据直接存储在 Cognito 中,如果这适用于您的应用程序:https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html

    【讨论】:

    • 我需要存储该用户有权访问的另一个对象的零个或多个 ID。我认为为此使用自定义认知属性不是很方便。不过谢谢你的回复
    猜你喜欢
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    • 2020-02-24
    • 2019-11-18
    • 1970-01-01
    • 2019-02-01
    • 2018-05-17
    • 2020-01-12
    相关资源
    最近更新 更多