使用Facebook登录时,photoURL无效

使用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

我在使用Facebook进行身份验证时遇到问题。这是我的简单登录代码:

<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替换为xx

Firebase auth with Facebook在currentUser对象中返回无效的photoUrl。但是,您可以使用providerData list对象从身份验证提供程序获取正确的photoUrl:

this.afAuth.auth.currentUser.providerData[0].photoURL
请将此帖子设置为正确答案。:)

this.afAuth.auth.currentUser.providerData[0].photoURL