我正在尝试构建一个HTML文件,以监控远程站点上的一些内容,具体来说是github.com。我希望能够仅使用该平面文件,并直接从JS向github的API发出请求。我的思路如下:
- 既然我只需要读取权限,所以让我们使用jsonp,坚持使用GET应该没问题。
- 这失败了,因为你无法使用jsonp进行基本身份验证。
- 好吧,我将使用Github的OAuth而不是基本身份验证!
- 这失败了,因为出于可理解的安全原因,浏览器不允许我重定向到本地资源:
Not allowed to load local resource: file:///Users/...
。
- 这失败了,因为出于可理解的安全原因,浏览器不允许我重定向到本地资源:
- 好吧,我将在iFrame中加载Github的oauth,然后获取结果url(其中应包含我需要的oauth代码)。
- 这失败了,因为如果它位于另一个域上,则显然无法访问有关子iframe的任何内容,因此除非我重定向回file:///whatever,否则无法获取最终url。当然,由于“不允许加载本地资源”问题,我无法重定向到file:///whatever。
- 好吧,我将使用跨源资源共享(再次返回基本身份验证)!
- 这失败了,因为来自file:/// url的CORS将origin标头发送为null,服务器不会接受
那么,有什么建议可以从单个本地HTML文件成功地进行身份验证到此API,无论是绕过上述策略的方法还是其他想法?
file:///
内部的源也在file:///
时加载AJAX。 - Alnitak