Firebase
Auth [회원가입,로그인]
신입주니어개발자
2021. 12. 23. 18:09
설치
- npm install --save firebase@^7.24.0
<인증설정>
<데이터베이스 설정>
<데이터베이스 구조>
import firebase from "firebase/app";
import "firebase/auth"; //인증기능
import "firebase/database"; //데이터베이스기능
import "firebase/storage"; //스토리지기능
//
// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
var firebaseConfig = {
apiKey: "AIzaSyBk7qzaczfXcTtfMgLxtgcclr1TWzAP5b4",
authDomain: "chat-app-df8be.firebaseapp.com",
projectId: "chat-app-df8be",
storageBucket: "chat-app-df8be.appspot.com",
messagingSenderId: "417787919150",
appId: "1:417787919150:web:69077b93cc9bed18fd18bf",
measurementId: "G-HVS8EW2SD8",
databaseURL: "https://chat-app-df8be-default-rtdb.asia-southeast1.firebasedatabase.app"
};
//데이터베이스 생성시 URL을 config 부분에 추가한다
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
// firebase.analytics(); : 통계보여주는부분
export default firebase;
function RegisterPage() {
const onSubmit = async (data) => {//회원가입 (form 제출시 유효성체크)
try {
let createdUser = await firebase
.auth()
.createUserWithEmailAndPassword(data.email, data.password);
//firebase에서 아이디생성후 결과값을 반환해줌
await createdUser.user.updateProfile({ //회원가입된 유저 정보추가하기
displayName: data.name,
photoURL: `http://gravatar.com/avatar/${md5(
createdUser.user.email
)}?d=identicon`,
});
//Firebase 데이터베이스에 저장해주기(users 테이블 - createdUser.user.uid - name,image 순으로 저장 )
await firebase.database().ref("users").child(createdUser.user.uid).set({
name: createdUser.user.displayName,
image: createdUser.user.photoURL,
});
} catch (error) {
setErrorFromSubmit(error.message);
}
};
return (
<div className="auth-wrapper">
<form onSubmit={handleSubmit(onSubmit)}>
생~략
<input type="submit" />
</form>
</div>
);
}
export default RegisterPage;
const onSubmit = async (data) => {//로그인
try {
setLoading(true);
await firebase.auth().signInWithEmailAndPassword(data.email,data.password)
setLoading(false); //회원가입 진행시 button 불능
} catch (error) {
console.log(error.message)
setLoading(false); //회원가입 진행시 button 불능
}
};
<인증부분 저장>
<데이터베이스 저장>
자바스크립트를 사용하여 비밀번호 기반 계정으로 Firebase에 인증하기 | Firebase Documentation (google.com)
자바스크립트를 사용하여 비밀번호 기반 계정으로 Firebase에 인증하기 | Firebase Documentation
의견 보내기 자바스크립트를 사용하여 비밀번호 기반 계정으로 Firebase에 인증하기 Firebase 인증을 사용하여 사용자가 이메일 주소와 비밀번호로 Firebase에 인증하도록 하고, 앱의 비밀번호 기반
firebase.google.com
웹사이트에서 Firebase 인증 시작하기 | Firebase Documentation (google.com)
웹사이트에서 Firebase 인증 시작하기 | Firebase Documentation
의견 보내기 웹사이트에서 Firebase 인증 시작하기 Firebase 인증을 사용하면 사용자가 이메일 주소 및 비밀번호 로그인, 제휴 ID 공급업체(예: Google 로그인, Facebook 로그인)를 통한 로그인 방법 중 한
firebase.google.com