debugging VS代码的Edge dev工具在身份验证期间出现“ERR_UNSAFE_REDIRECT”错误,可能来自“file:///”url方案-是否有解决方案?

y1aodyip  于 2022-11-14  发布在  其他
关注(0)|答案(2)|浏览(191)

我目前在Windows 10上使用最新的稳定VS代码版本(ver 20 H2,build 19042.1826)。我目前开发的应用程序只是一个使用Vue.js的静态站点,而不是使用Node.js服务器来运行和调试。Edge工具工作得很好,开箱即用。我通过打开根“index.html”文件启动了应用程序,并根据文档单击“运行并调试”。

应用程序启动,我可以命中断点,等等都很好。但是,这个应用程序使用第3方服务来验证和授权用户(从ArcGIS Online),似乎不允许从身份验证服务页面重定向回“file:///c:/path/to/root/index.html”URL。

我的Google-fu在这里失败了,我似乎不知道这是如何工作的。有人以前遇到过这样的问题吗?有没有可能在这里的某个端口上使用“http://localhost”URL代替?
验证服务不允许设置具有“file:///”方案的重定向URL。

ryoqjall

ryoqjall1#

为了避免使用者遭受开放式重新导向器攻击,开发人员必须为应用程序注册一或多个重新导向URL。受权服务器绝不能重新导向至任何其他位置。您可以尝试根据this doc新增重新导向URI。
IMO,file:///方案可能不起作用,所以我建议你使用http://localhost url,因为文档中只提到http和https。

bis0qfac

bis0qfac2#

为了解决这个问题,我遵循了上面yu-zhou的注解中的指导。我的解决方案是使用Live Server VS Code扩展在本地托管和运行应用程序。我在Live Server中将“NoBrowser”设置为“true”,以便在Live Server启动时启动新的浏览器示例。然后我将launch.json配置如下:

{
    "name": "Edge: Debug app",
    "request": "launch",
    "type": "msedge",
    "url": "http://localhost:5500/my-app/index.html",
    "runtimeArgs": ["--disable-web-security"],
    "skipFiles": ["<node_internals>/**", "**/*.com*/**"]
}

相关问题