无法在 Electron 应用程序中使用 Discord OAuth2
Posted
技术标签:
【中文标题】无法在 Electron 应用程序中使用 Discord OAuth2【英文标题】:Can't use Discord OAuth2 in Electron application 【发布时间】:2020-01-19 02:38:35 【问题描述】:我正在尝试创建一个 Electron 应用程序(使用 Electron.net 和 MVC),并使用 Discord 的 OAuth2 进行用户登录。但是,在加载 OAuth2 页面时,Discord 认为我正在使用损坏的 Discord 安装。我认为这是因为 Discord 桌面应用程序也使用了 Electron。不使用 Electron 时,链接可以正常打开。
到目前为止,我已尝试更改 Electron 使用的 User-Agent(在 Electron 启动代码中和直接在与 javascript 的链接上),因为我相信这就是 Discord 将应用程序识别为使用 Electron 的方式,但是这没有奏效。有谁知道 Discord 可能会如何解决我正在使用 Electron 以及如何解决它?
Not sure if it adds much, but here's a screenshot of the error I get when trying to get to the Discord login page.
【问题讨论】:
【参考方案1】:我不得不处理同样的问题,所以我在加载时启用了 devtools。我在这里(https://discordapp.com/assets/db6c3ddb51620cee5d94.js)找到了这个脚本,他们在其中处理应用程序事件,我意识到他们正在加载节点模块,这在浏览器设置中是不可用的。解决方案是在窗口选项中设置nodeIntegration: false
,如下所示:
authWindow = new BrowserWindow(
width: 800,
height: 500,
frame: false,
webPreferences:
nodeIntegration: false
);
【讨论】:
以上是关于无法在 Electron 应用程序中使用 Discord OAuth2的主要内容,如果未能解决你的问题,请参考以下文章
Electron 和 TypeScript:“fs”无法解析
在 Electron 应用程序中使用 console.log()
使用 Electron 在 Angular 2 应用程序中访问文件系统