gpt4 book ai didi

amazon-web-services - AWS Cognito 和 CORS 安全问题

转载 作者:行者123 更新时间:2023-12-04 01:59:46 24 4
gpt4 key购买 nike

我有一个 Web 客户端通过 AWS API Gateway 向 AWS Lambda 发出请求。我正在使用 AWS Cognito 和 Auth0 对用户进行身份验证。

我的问题与来自 AWS API 网关端点的 CORS 响应 header 有关,特别是设置为任何“' * '”的 Access-Control-Allow-Origin 响应 header 。这篇文章指出了在我们的后端使用任何“'*'”参数的风险,即“黑客可以利用我们的站点来请求任何方法”:(CORS Security link)。

虽然 Cognito 的身份验证可能证明发出请求的最终用户就是他所说的那个人,但 Cognito 的身份验证并不一定证明代表用户发出请求的网站是 mywebsite.com 而不是 攻击者.com .

Cognito 是否保证请求来自 mywebsite.com?

是否有一种安全的方法来实现任何“' * '” Access-Control-Allow-Origin 响应 header ?

最佳答案

Cognito 是否保证请求来自 mywebsite.com?

否。 Cognito 与您的域无关。它只关心用户身份验证/管理。

是否有一种安全的方法来实现任何“' * '” Access-Control-Allow-Origin 响应 header ?

嗯,是和否。正如您在帖子中所说,Cognito 将对用户进行身份验证 因此,如果设置了 Access-Control-Allow-Origin '*',则允许任何域发出跨域请求,但如果它们无法提供有效的身份验证 token ,然后他们会收到 401 错误。

如果要限制哪些域可以访问,则不能使用 ''。 '' 是一个通配符,因此允许任何值。因此,如果您只想让 mywebsite.com 能够发出 CORS 请求,请将“*”替换为“mywebsite.com”。这使得只允许来自该域的请求。来自attacker.com 的请求现在将失败,因为它们没有正确的 header 。

关于amazon-web-services - AWS Cognito 和 CORS 安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48140465/

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