在AWS API Gateway中,
-我们可以设置资源以重新配置API密钥以进行访问。
-我们还可以设置另一个资源来要求授权(例如,通过lambda函数或AWS Cognito处理的JWT令牌)。
问题:是否可以将资源配置为在上述两种情况下均可访问?当前,如果我们同时启用“需要API密钥”和“授权”,则请求同时需要API密钥和授权。我们希望它仅能通过两者之一。
缺陷/解决方法:创建同一资源的两个副本,并分别授权每个副本,一个使用API密钥,另一个使用授权者。
答案 0 :(得分:1)
身份验证、身份、授权是相互交织的概念。随着我对 Auth 的了解越来越多,这是我的答案:
因此,不要同时使用 JWT 和 API 密钥授权同一个端点是有意义的,因为这会降低用户和应用程序的治理粒度。但是,如果您的用例需要这种类型的授权,建议的解决方法可能会奏效。
答案 1 :(得分:0)
让授权者generate/map the API key for you
您有Lambda授权者将API密钥作为 授权响应。有关授权的更多信息 响应,请参阅Amazon API Gateway Lambda授权者的输出。
优点:
单个端点
使用密钥的API密钥比授权密钥更多。保持这种方式。
缺点: