用于cordova应用程序的facebook登录

莎兰·阿纳普拉普拉(Sharan Ainapurapu)

我正在尝试将Facebook登录与Cordova应用集成。我收到以下错误。我使用了https://github.com/Wizcorp/phonegap-facebook-plugin

我实际上遵循了此链接Cordova-拒绝执行内联事件处理程序,因为它违反了以下内容安全策略,无法解决此问题。

错误:

  1. cordova oauth拒绝执行内联脚本,因为它违反了以下内容安全策略指令:default-src self data:间隙:https : //ssl.gstatic.com unsafe-eval。要启用内联执行,需要使用unsafe-inline关键字,哈希(sha256-HNED5JYugsSN2fW8J37cauBfrz4h1d04l7WiLk8vriA =)或随机数(nonce -...)。另请注意,未明确设置script-src,因此将default-src用作后备`

  2. 未捕获的TypeError:无法读取null的属性'querySelector'

这是代码

Index.js

var app = {
initialize: function() {
    this.bindEvents();
},

bindEvents: function() {
    document.addEventListener('deviceready', this.onDeviceReady, false);
},

onDeviceReady: function() {
    app.receivedEvent('deviceready');
},
receivedEvent: function(id) {
    var parentElement = document.getElementById(id);
    var listeningElement = parentElement.querySelector('.listening');
    var receivedElement = parentElement.querySelector('.received');
    listeningElement.setAttribute('style', 'display:none;');
    receivedElement.setAttribute('style', 'display:block;');
    if (window.cordova.platformId == "browser") {
        facebookConnectPlugin.browserInit("xxxxxxxxxxxxxxxxx");
      }
    console.log('Received Event: ' + id);
}
};

还有其他人遇到过同样的问题吗?有人有示例工作项目吗?

瑞奇

您需要在中设置Content-Security-Policy<meta>标签index.html

请参阅cordova-plugin-whitelist docs

<!-- Good default declaration:
    * gap: is required only on iOS (when using UIWebView) and is needed for JS->native communication
    * https://ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly
    * Disables use of eval() and inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:
        * Enable inline JS: add 'unsafe-inline' to default-src
        * Enable eval(): add 'unsafe-eval' to default-src
-->
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline'; media-src *">

<!-- Allow requests to foo.com -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self' foo.com">

<!-- Enable all requests, inline styles, and eval() -->
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">

<!-- Allow XHRs via https only -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self' https:">

<!-- Allow iframe to https://cordova.apache.org/ -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; frame-src 'self' https://cordova.apache.org">

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android 应用程序登录 Cordova

Linkedin登录Cordova应用程序

Firebase和Cordova-使用Facebook的应用程序凭据登录

Facebook登录桌面应用程序

Facebook登录-Android应用程序

Cakephp应用程序的Facebook登录问题

iOS Facebook通过应用程序登录

Web应用程序和移动应用程序上用于Facebook登录API的不同FB ID

用于Facebook登录的可使用的本机应用程序(只需使用弹出窗口即可)

外部登录不适用于MVC 4 Web应用程序中的Facebook

用于网站的Facebook登录应用程序只能通过VPN URL:10.0.0访问

使用 Facebook 登录凭据登录/注册我的应用程序

Facebook Web应用程序登录仅适用于IP,但不适用于域

登录Cordova应用程序后,FacebookConnectPlugin不会回调

Cordova / AngularJS应用程序中的Facebook身份验证

通过应用程序登录Facebook SDK 3.5无效

无法通过Firebase获取Facebook登录的应用程序密码

在Spring MVC应用程序中用Facebook登录?

Android应用程序在Facebook登录时崩溃

测试应用程序上的Facebook登录

iOS Swift Facebook按钮登录到应用程序

如何在我的应用程序中使用 Facebook 登录

我的 webview 应用程序无法登录 Facebook?

Android应用程序因Facebook登录而崩溃

如何通过Facebook登录您的应用程序

尝试实现Facebook登录时无效的应用程序ID

应用程序在Facebook登录中获取nullPointerException时崩溃

使用Facebook应用程序登录会造成混淆

如何确定用于构建旧版应用程序的Cordova版本?