firebase facebook JavaScript sdk photoURL是一个通用的配置文件图像

kokeuurv  于 2023-06-24  发布在  Java
关注(0)|答案(1)|浏览(106)

我在react/firebase项目中使用了Facebook身份验证,并且我可以很好地恢复用户对象以及我需要的所有其他信息,如displayName和email。然而,photoURL只是一个通用的个人资料图像,而不是我实际的Fb个人资料照片。任何熟悉使用firebase Facebook认证的人的帮助将不胜感激。谢谢!

qlfbtfca

qlfbtfca1#

2023年解决方案使用firebase“Web Modular API”时

配置文件url可以通过以下方法获得

getAdditionalUserInfo(result);

以下是完整的实现:

import { initializeApp } from 'firebase/app';
import {
  getAuth,
  FacebookAuthProvider,
  signInWithPopup,
  getAdditionalUserInfo,
} from 'firebase/auth';

const firebaseConfig = {
  apiKey: 'xxx',
  authDomain: 'xxx',
  projectId: 'xxx',
  storageBucket: 'xxx',
  messagingSenderId: 'xxx',
  appId: 'xxx',
  measurementId: 'xxx',
};

initializeApp(firebaseConfig);
const auth = getAuth();
const provider = new FacebookAuthProvider();

let result = await signInWithPopup(auth, provider);

let additional = getAdditionalUserInfo(result);
console.log('picture_url: ', additional.profile.data.picture.url);

// if token is needet
const credential = FacebookAuthProvider.credentialFromResult(result);
console.log('credential: ', credential);

参考:https://firebase.google.com/docs/auth/web/facebook-login?hl=de#web-modular-api_4

相关问题