📌  相关文章
📜  如何在 React 中使用 firebase 向 google 进行身份验证?

📅  最后修改于: 2022-05-13 01:56:47.464000             🧑  作者: Mango

如何在 React 中使用 firebase 向 google 进行身份验证?

以下方法介绍了如何在 react 中使用 firebase 向 Google 进行身份验证。我们使用了firebase模块 达到 所以。

创建 React 应用程序并安装模块:

第 1 步:使用以下命令创建一个 React myapp:

npx create-react-app myapp

第 2 步:创建项目文件夹后,即 myapp 使用以下命令移动到该文件夹:

cd myapp

项目结构:我们的项目结构将如下所示。

第 3 步:创建 ReactJS 应用程序后,使用以下命令安装firebase模块:

npm install firebase@8.3.1 --save

第 4 步:转到您的 firebase 仪表板并创建一个新项目并复制您的凭据。

const firebaseConfig = {
      apiKey: "your api key",
      authDomain: "your credentials",
      projectId: "your credentials",
      storageBucket: "your credentials",
      messagingSenderId: "your credentials",
      appId: "your credentials"
};

第 5 步:通过使用以下代码创建Firebase.js文件,将 Firebase 初始化到您的项目中。

Firebase.js
import firebase from 'firebase';
  
const firebaseConfig = {
    // Your credentials
};
  
firebase.initializeApp(firebaseConfig);
var auth = firebase.auth();
var provider = new firebase.auth.GoogleAuthProvider(); 
export {auth , provider};


login.js
import React from 'react';
import {auth , provider}  from './firebase.js';
  
const Login = () => {
  
    // Sign in with google
    const signin = () => {
        auth.signInWithPopup(provider).catch(alert);
    }
      
    return (
        
            
                             
        
    ); }    export default Login;


Main.js
import React from 'react';
import {auth} from './firebase';
  
const Mainpage = () => {
  
    // Signout function
    const logout = () => {
        auth.signOut();
    }
      
    return (
        
            Welcome                             {                 auth.currentUser.email             }                      
    ); }    export default Mainpage;


Javascript
import React from 'react';
import {auth} from './firebase';
import {useAuthState} from 'react-firebase-hooks/auth';
import Login from './login';
import Mainpage from './main';
  
function App() {
  const [user] = useAuthState(auth);
  return (
    user ?  : 
  );
}
  
export default App;


第 6 步:转到您的 Firebase 仪表板并启用google 登录方法,如下所示。  

第 7 步:现在使用以下命令安装 npm 包,即 react-firebase-hooks。

npm i react-firebase-hooks

这个包帮助我们监听用户的当前状态。

第 8 步:使用以下代码创建两个文件,即login.jsmain.js。

登录.js

import React from 'react';
import {auth , provider}  from './firebase.js';
  
const Login = () => {
  
    // Sign in with google
    const signin = () => {
        auth.signInWithPopup(provider).catch(alert);
    }
      
    return (
        
            
                             
        
    ); }    export default Login;

主.js

import React from 'react';
import {auth} from './firebase';
  
const Mainpage = () => {
  
    // Signout function
    const logout = () => {
        auth.signOut();
    }
      
    return (
        
            Welcome                             {                 auth.currentUser.email             }                      
    ); }    export default Mainpage;

第 8 步:最后在App.js文件中导入所有需要的文件,如下所示。

应用程序.js

Javascript

import React from 'react';
import {auth} from './firebase';
import {useAuthState} from 'react-firebase-hooks/auth';
import Login from './login';
import Mainpage from './main';
  
function App() {
  const [user] = useAuthState(auth);
  return (
    user ?  : 
  );
}
  
export default App;

运行应用程序的步骤:从项目的根目录使用以下命令运行应用程序:

npm start

输出:现在打开浏览器并转到http://localhost:3000/ ,您将看到以下输出: