如何解决如何使用Lambda使用CORS进行重定向
我遇到以下错误
Access to fetch at 'https://mywebsite.com/private-post.html'
(redirected from 'https://api.mywebsite.com/login')
from origin 'https://mywebsite.com' has been blocked by CORS policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
If an opaque response serves your needs,set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
我将以下cors预检设置为https://api.mywebsite.com
。 https://mywebsite.com
是静态网站。我不确定它是否具有cors。
Access-Control-Allow-Origin: ['https://mywebsite.com','https://api.mywebsite.com']
Access-Control-Allow-Headers: [*]
Access-Control-Allow-Methods: [DELETE,GET,OPTION,PUT,HEAD,PATCH,POST]
Access-Control-Allow-Credentials: true
因此,我首先从https://mywebsite.com/login.html
到https://api.mywebsite.com/login
端点发出发布请求。成功登录后,我将使用lambda进行重定向。同时具有以上cors。而且由于上述错误,我无法重定向到任何页面。
const response = {
statusCode: 303,headers: {
'Location': 'https://mywebsite.com/private-post.html'
}
}
return response
修改
我尝试设置Access-Control-Allow-Origin: [*]
,但后来无法设置Access-Control-Allow-Credentials: true
。
因此,为了解决这一问题,现在我可以设置Access-Control-Allow-Origin: ['https://*']
,我可以允许使用凭据,但是在重定向时,cors错误仍然保持不变。
解决方法
https://mywebsite.com
是静态网站。我不确定它是否具有cors。
错误消息并非没有,但是,由于您尝试使用JS读取内容,因此需要。
您不能使用重定向为您无法控制的资源授予CORS权限。如果可以,那么攻击者可以(例如)创建一个重定向到您的在线银行的网站,然后使攻击网站上的JS通过该网站访问您的帐户。这将使“同源政策”一文不值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。