Fer*_*ikh 6 cors google-cloud-platform google-iap
我正在尝试从第三方 JavaScript 集成对我的 web api 服务器进行 ajax 调用。但是,在我的 API 服务器上启用 IAP 后,我无法从我的集成服务器调用我的 Web api。我已将我的集成服务器添加为 Web 应用程序的客户端 ID 中的授权 JavaScript 来源。
下面是错误。
从源“ https://myintegration.com ”访问“ https://webapiserver.com/apiendpoint1 ”处的 XMLHttpRequest已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头.
如果我最后缺少其他配置,请告诉我。谢谢。
CORS 需要未经身份验证的 OPTIONS 请求。您的 API 服务器需要允许它,要做到这一点,您需要:
有关自定义 IAP 的更多信息,请参阅 Google 官方文档。
此功能以前不可用,并且存在建议的解决方法:
在同一个 GCP 项目中创建 App Engine 服务:
UI 服务器调用 API 服务器。要解决 CORS 问题,请使用带有调度文件的路由: https: //cloud.google.com/appengine/docs/standard/python/how-requests-are-routed#routing_with_a_dispatch_file
通常,当UI服务器想要调用API服务器时,它会调用api-dot-MY_PROJECT.appspot.com
在此解决方法中,UI 服务器使用指定路径调用自身("/api"):MY_PROJECT.appspot.com/api
由于 UI 服务器正在调用自身,因此 CORS 不适用。
| 归档时间: |
|
| 查看次数: |
1922 次 |
| 最近记录: |