https://myapi.execute-api.us-east-1.amazonaws.com/dev/users/userid _ _ _
我希望我的 cognito 用户只能访问他们自己的/users/userid
这是否可以使用内置的 cognito API 授权器,或者我是否需要一个自定义 lambda 授权器来从令牌中提取用户 ID 并将其与路径进行比较?
</p>
提前致谢
https://myapi.execute-api.us-east-1.amazonaws.com/dev/users/userid _ _ _
我希望我的 cognito 用户只能访问他们自己的/users/userid
这是否可以使用内置的 cognito API 授权器,或者我是否需要一个自定义 lambda 授权器来从令牌中提取用户 ID 并将其与路径进行比较?
</p>
提前致谢
我不相信标准的 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