使用Facebook登录时,photoURL无效
我在使用Facebook进行身份验证时遇到问题。这是我的简单登录代码:使用Facebook登录时,photoURL无效,facebook,firebase,firebase-authentication,Facebook,Firebase,Firebase Authentication,我在使用Facebook进行身份验证时遇到问题。这是我的简单登录代码: <script src="https://www.gstatic.com/firebasejs/4.5.2/firebase.js"></script> <script> // Initialize Firebase var config = { apiKey: "...", authDomain: "...", databaseURL: "...", projec
<script src="https://www.gstatic.com/firebasejs/4.5.2/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "..."
};
firebase.initializeApp(config);
var provider = new firebase.auth.FacebookAuthProvider();
firebase.auth().signInWithPopup(provider).then(result =>{
var user = result.user;
console.log(user.photoURL);
});
当我遵循此URL时,我得到一个错误:
找不到服务器scocontent.fna.fbcdn.net的DNS地址
如何检索正确的Facebook用户照片URL
我需要指出的是,google登录非常有效,并返回有效的photoURL。我通过删除用户并再次登录解决了这个问题。我可能是生产环境中的一个大问题 我还找到了另一个解决办法。有效和无效URL几乎相同: 有效的一个: 无效:
因此,如果遇到问题,您需要将主机名中的fna替换为xxFirebase auth with Facebook在currentUser对象中返回无效的photoUrl。但是,您可以使用providerData list对象从身份验证提供程序获取正确的photoUrl:
this.afAuth.auth.currentUser.providerData[0].photoURL
请将此帖子设置为正确答案。:)
this.afAuth.auth.currentUser.providerData[0].photoURL