从本地文件加载的WKWebView访问安全端点

Fre*_*ieb 10 cors ios wkwebview

所以我们正在开发一个iPhone应用程序(iOS 9+,而不是8),我们正在使用WKWebView和本地文件启动它.为了将数据导入应用程序,我们计划使用也将处理身份验证的安全服务,并且认为CORS是实现此目的的方法.

但是,从文件系统加载文件null会将HTTP请求中的原点设置为,当我们还要发送cookie(用于身份验证)时,不允许这样做.

所以我的问题:

  • 我们可以在WKWebView中设置一个原点来覆盖null类似的东西https://acme.server.net吗?
  • 其他人(你)在做什么?
  • 我们应该考虑做除CORS之外的其他事情吗?(JSONP不是一个选项).

小智 1

您可以在 iPhone 上创建本地网络服务器并从中加载文件。这样,origin 就不会为空,您可以使用 CORS 连接到您的服务器。

我发现 GCDWebServer 很容易使用。

就我个人而言,我宁愿使用 HTML5 AppCache 或 ServiceWorkers 创建本地应用程序缓存,而不需要 CORS,但 WKWebView 不支持这些,据我所知,您被迫使用网络服务器方法