【问题标题】:Dropbox oauth window is not workingDropbox oauth 窗口不工作
【发布时间】:2017-09-08 20:57:41
【问题描述】:

我正在将我的应用程序移植到 Electron,我惊讶地发现 Dropbox 身份验证在这种环境中不起作用。不过,它确实可以在 Chrome 中使用。

登录按钮保持禁用状态,标签显示在输入上方。

控制台中显示以下消息:

Content-Security-Policy 指令“worker-src”在当前禁用的标志后面实现。

我正在 OS X 上使用 dropbox@2.5.7、electron@1.7.7 进行测试。

我发现了一个类似的问题,但它似乎使用了不同版本的 Electron 并且有不同的错误消息:

Dropbox oauth view is not rendering properly


更新:

Content-Security-Policy 消息似乎与 Chrome 版本有关。 worker-src 指令是在 Chrome 59 中引入的,electron@1.7.7 随 Chrome 58 一起提供。

https://www.chromestatus.com/feature/5922594955984896

我已经用 Chrome 59 附带的 electron@1.8.0 进行了测试,控制台消息消失了。但是身份验证页面的问题仍然存在。

【问题讨论】:

标签: oauth electron dropbox-api


【解决方案1】:

这是因为BrowserWindow 默认启用了nodeIntegration 标志。这与捆绑DropboxRequireJS 实现冲突。

所以解决方案是在创建浏览器窗口时禁用nodeIntegration

const win = new electron.BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
        nodeIntegration: false
    }
});

win.loadURL(link);

这是一个小型演示项目: https://github.com/kenjiru/electron-dropbox-sample-app

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    相关资源
    最近更新 更多