How to authenticate with google using firebase in React ?
The following approach covers how to authenticate with Google using firebase in react. We have used firebase module to achieve so.
Creating React Application And Installing Module:
Step 1: Create a React myapp using the following command:
npx create-react-app myapp
Step 2: After creating your project folder i.e. myapp, move to it using the following command:
cd myapp
Project structure: Our project structure will look like this.
Step 3: After creating the ReactJS application, Install the firebase module using the following command:
npm install firebase@8.3.1 --save
Step 4: Go to your firebase dashboard and create a new project and copy your credentials.
const firebaseConfig = {
apiKey: "your api key",
authDomain: "your credentials",
projectId: "your credentials",
storageBucket: "your credentials",
messagingSenderId: "your credentials",
appId: "your credentials"
};
Step 5: Initialize the Firebase into your project by creating Firebase.js file with the following code.
Firebase.js
import firebase from 'firebase' ;
const firebaseConfig = {
};
firebase.initializeApp(firebaseConfig);
var auth = firebase.auth();
var provider = new firebase.auth.GoogleAuthProvider();
export {auth , provider};
|
Step 6: Go to your firebase dashboard and Enable the google sign-in method as shown below.
Step 7: Now install the npm package i.e. react-firebase-hooks using the following command.
npm i react-firebase-hooks
This package helps us to listen to the current state of the user.
Step 8: Create two files i.e. login.js and main.js with the following code.
login.js
import React from 'react' ;
import {auth , provider} from './firebase.js' ;
const Login = () => {
const signin = () => {
auth.signInWithPopup(provider). catch (alert);
}
return (
<div>
<center>
<button style={{ "marginTop" : "200px" }}
onClick={signin}>Sign In with Google</button>
</center>
</div>
);
}
export default Login;
|
Main.js
import React from 'react' ;
import {auth} from './firebase' ;
const Mainpage = () => {
const logout = () => {
auth.signOut();
}
return (
<div>
Welcome
{
auth.currentUser.email
}
<button style={{ "marginLeft" : "20px" }}
onClick={logout}>
Logout
</button>
</div>
);
}
export default Mainpage;
|
Step 8: Finally Import all required files in App.js file as shown below.
App.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 ? <Mainpage/> : <Login/>
);
}
export default App;
|
Step to Run Application: Run the application using the following command from the root directory of the project:
npm start
Output: Now open your browser and go to http://localhost:3000/, you will see the following output:
Last Updated :
01 Apr, 2021
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...