带有 Facebook SDK 的 Electron 应用
Electron app with Facebook SDK
我的电子应用程序需要 Facebook 登录。但是我面临两个问题:
- Facebook 需要 OAuth 重定向 URI,该 URI 在桌面应用程序的上下文中不存在。
Facebook 登录需要 cookie。
- 对于第一个问题,在开发模式下,我通过开发服务器 (webpack) 为 html 提供服务,因此我可以通过使用
localhost:3000
作为重定向 URI 来作弊。但是,我不知道如何在生产环境中发布此应用程序。
- 第二个问题,我尝试安装这个[electron-cookies模块[(https://www.npmjs.com/package/electron-cookies),但是问题没有解决
Khanetor.
您需要将 webPreferences.webSecurity 设置为 false,请参阅下面的代码片段:
mainWindow = new BrowserWindow({
width: 800,
height: 600,
frame: true,
webPreferences: {
webSecurity: false,
plugins: true
}
});
我现在自己在 Electron 中进行 Facebook 身份验证,在克服 cookie 问题之后还有另一个问题需要处理 - 登录,facebook 打开新的 window 一旦你登录它就会发送 postMessage 给其他 windows 并关闭。但是 postMessages 在 Electron 中的工作方式与在普通浏览器中的工作方式不同..
如果不需要,请不要使用本地主机。请改用 FB 的文档:
redirect_uri。 URL 您要将登录的人重定向回。此 URL 将捕获来自登录对话框的响应。如果您在桌面应用程序的网络视图中使用它,则必须将其设置为 https://www.facebook.com/connect/login_success.html。您确认已为您的应用程序设置此 URL,方法是转到应用程序仪表板,单击右侧菜单中的 Facebook 登录,然后检查客户端 OAuth 设置部分中的有效 OAuth 重定向 URI。
(1) https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow
编辑:我完成了这项工作,如果您有更多问题,请提出。
我的电子应用程序需要 Facebook 登录。但是我面临两个问题:
- Facebook 需要 OAuth 重定向 URI,该 URI 在桌面应用程序的上下文中不存在。
Facebook 登录需要 cookie。
- 对于第一个问题,在开发模式下,我通过开发服务器 (webpack) 为 html 提供服务,因此我可以通过使用
localhost:3000
作为重定向 URI 来作弊。但是,我不知道如何在生产环境中发布此应用程序。 - 第二个问题,我尝试安装这个[electron-cookies模块[(https://www.npmjs.com/package/electron-cookies),但是问题没有解决
- 对于第一个问题,在开发模式下,我通过开发服务器 (webpack) 为 html 提供服务,因此我可以通过使用
Khanetor.
您需要将 webPreferences.webSecurity 设置为 false,请参阅下面的代码片段:
mainWindow = new BrowserWindow({
width: 800,
height: 600,
frame: true,
webPreferences: {
webSecurity: false,
plugins: true
}
});
我现在自己在 Electron 中进行 Facebook 身份验证,在克服 cookie 问题之后还有另一个问题需要处理 - 登录,facebook 打开新的 window 一旦你登录它就会发送 postMessage 给其他 windows 并关闭。但是 postMessages 在 Electron 中的工作方式与在普通浏览器中的工作方式不同..
如果不需要,请不要使用本地主机。请改用 FB 的文档:
redirect_uri。 URL 您要将登录的人重定向回。此 URL 将捕获来自登录对话框的响应。如果您在桌面应用程序的网络视图中使用它,则必须将其设置为 https://www.facebook.com/connect/login_success.html。您确认已为您的应用程序设置此 URL,方法是转到应用程序仪表板,单击右侧菜单中的 Facebook 登录,然后检查客户端 OAuth 设置部分中的有效 OAuth 重定向 URI。
(1) https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow
编辑:我完成了这项工作,如果您有更多问题,请提出。