首页 > 解决方案 > Ionic 4 - Lambda - Cors 错误:CORS 标头中缺少令牌“观众”

问题描述

我在我的电脑(本地主机)上运行了一个离子应用程序,从我的 Lambda 应用程序访问路由。当我尝试一条路线时,我收到此错误:

跨域请求被阻止:同源策略不允许读取 /dev/login 处的远程资源。(原因:CORS 预检通道的 CORS 标头“Access-Control-Allow-Headers”中缺少令牌“受众”)。

这是来自本地主机,还是我尝试从中运行路由的 url?我该如何解决这个问题?

我可以在浏览器中访问根 url 路由,没有错误。

标签: angularionic4

解决方案


请看下面的解释。

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSMissingAllowHeaderFromPreflight

基本上,您在服务器端定义了一个“允许”标题列表(Access-Control-Allow-Headers),在您的情况下,标题“观众”是不允许的。因此,要修复它,您需要编辑列表并将其添加到服务器端。

我可能错了,但我坚信你不需要这个标题。我猜正在发生的事情是您正在获取 JWT 令牌,但随后不仅使用带有值“承载 XYZ”的标头“授权”,其中 XYZ - 您的令牌,您还添加了“观众”(我相信这是也来自 JWT 响应)。如果这是正确的,使用“授权”就足够了。

JWT 和 Ionic 的示例:https ://devdactic.com/ionic-4-jwt-login/


推荐阅读