我突然无法在我的Ionic 1应用程序(使用Facebook提供商的Firebase身份验证)中加载来自Facebook(https://scontent.xx.fbcdn.net)的个人资料图片。这之前有用,但现在我只得到一个空白图像(可能是某种4xx错误代码?)。 iOS和Android。
我安装了cordova-plugin-whitelist
,我的config.xml
有<access origin="*"/>
。
我试图添加content-security-policy
元标记而没有任何运气:
<meta http-equiv="Content-Security-Policy" content="img-src * blob: android-webview-video-poster: cdvphotolibrary: 'self' data: ws: wss://*; default-src * blob: 'self' gap: wss: ws: data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src * http: https: ws: wss://*;">
有什么想法吗?我知道这之前有用,所以Cordova或iOS / Android可能会有一些变化导致这种情况发生吗?
谢谢!
更新:
我试图使用其他外部图像,例如来自报纸的随机图像,我工作了。这可能是某种Facebook版权错误吗?
ionic info
--------------------------------
--------------------------------
Your system information:
Cordova CLI: 6.3.1
Gulp version: CLI version 1.2.1
Gulp local: Local version 3.9.1
Ionic Framework Version: 1.3.2
Ionic CLI Version: 2.1.1
Ionic App Lib Version: 2.1.1
ios-deploy version: 1.8.6
ios-sim version: 5.0.6
OS: Mac OS X Sierra
Node Version: v4.4.0
Xcode version: Xcode 8.3.1 Build version 8E1000a
答案 0 :(得分:0)
我设法通过手动获取配置文件图像来解决问题。 Firebase SDK提供的图像仍然无效。
var user = firebase.auth().currentUser;
if (user != null) {
user.providerData.forEach(function (profile) {
if (profile.providerId === "facebook.com") {
user.updateProfile({
photoURL : "https://graph.facebook.com/" + profile.uid + "/picture?height=200"
});
}
});
}