gpt4 book ai didi

security - API 网关的可选授权

转载 作者:行者123 更新时间:2023-12-05 03:53:52 25 4
gpt4 key购买 nike

我正在构建一个由 lambda 通过 API 网关提供服务的 API。我已经为一些管理端点集成了 Cognito 用户池授权方,它阻止了非授权请求,但现在我想添加一些端点,这些端点可以被经过身份验证的用户和未经过身份验证的用户调用(并根据授权返回不同的数据)。例如,您可以想象如果请求未通过身份验证,GET/users 将仅返回用户的基本个人资料信息,如果通过身份验证,则返回更多详细信息。

使用 API Gateway 进行设置的最佳方法是什么?

最佳答案

选项#1(首选)

请有 2 个不同的端点

  1. API X 与 GET https://api.xyz.com/users (Lambda 用户作为后端,Cognito 作为授权方)

  2. API Y 与 GET https://api.xyz.com/public/users (Lambda 用户作为后端且没有 Cognito)

  3. Lambda 用户需要根据 header “授权”进行验证,以查看应返回什么响应。如果“授权”,则返回更多详细信息,否则返回最少的详细信息。

选项#2

请有 1 个端点

  1. API X 与 GET https://api.xyz.com/users (Lambda 用户作为没有 Cognito 的后端)

  2. Lambda 用户需要根据 header “授权”进行验证,以查看应返回什么响应。如果“授权”,则返回更多详细信息,否则返回最少的详细信息。

我之所以更喜欢第一个,是因为从长远来看,我们可以在整个系统中单独拥有一组公共(public) API。这对所有消费者来说也很清楚。易于开发和维护。

关于security - API 网关的可选授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61453700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com