首页 > 解决方案 > 使用 Facebook 进行 Firebase 身份验证

问题描述

我正在尝试将 Facebook 登录添加到我的 Nextjs 应用程序中。我已经与 Google 注册合作了 - 文档中的身份验证提供程序不起作用,但我在这里找到了一个答案,说要导入 {google_provider} 并将其用作提供程序。这与文档所说的不同,但确实有效。

现在我对 Facebook 身份验证提供程序有同样的问题。我将提供程序设置为 FacebookAuthProvider 的新实例,该实例在从 firebase 导入时未定义。我将身份验证设置为 getAuth() 从 firebase 导入时也未定义。我尝试将 facebook_provider 作为冰雹玛丽导入,但在那里也没有找到任何东西。

import { getAuth, signInWithPopup, FacebookAuthProvider } from "firebase/auth";

const signInWithFacebook = () => {
 const provider = new FacebookAuthProvider();
 provider.addScope("user_birthday");
 provider.setCustomParameters({
  display: "popup",
 });

 const auth = getAuth();

 fire
   .auth()
  .signInWithPopup(auth, provider)
  .then((result) => {
    // The signed-in user info.
    const user = result.user;

    // This gives you a Facebook Access Token. You can use it to access the Facebook API.
    const credential = FacebookAuthProvider.credentialFromResult(result);
    const accessToken = credential.accessToken;

    // ...
  })
  .catch((error) => {
    console.log(error);
  });

};

标签: reactjsfirebasefirebase-authenticationnext.jsfacebook-login

解决方案


推荐阅读