1.Firebase - Authentication 에 들어온 뒤 다음과 같이 진행
2. https://github.com/settings/developers 접속하여, New OAuth App 생성해주기
Authorization callback URL 만 Firebase의 콜백 URL로 작성해주면 된다.
생성된 클라이언트 ID와 Secrets 를 Firebase에 작성해주자
주의! Secrets는 절대 공개되어서는 안됨!
3. 코드 작성해주기 (팝업 or 리다이렉트)
export default function GithubButton() {
const navigate = useNavigate();
const onClick = async () => {
try {
const provider = new GithubAuthProvider();
// 팝업으로 로그인 시도
await signInWithPopup(auth, provider);
// 리다이렉트로 로그인 시도
// await signInWithRedirect(auth, provider);
navigate("/");
} catch (e) {
console.log(e);
}
};
return (
<Button onClick={onClick}>
<Logo src="/github-logo.svg" />
Continue with Github
</Button>
);
}
팝업 또는 리다이렉트로 깃헙 로그인을 구현할 수 있는데, 팝업이 더 좋은 방법 같아서 팝업을 사용해주었다.
signInWith~ 함수는 매개변수로 auth와 provider가 필요하니까 Firebase의 auth와, GithubAuthProvider로 provider를 불러와주자!
주의! provider를 import할 때, cordova를 import하면 안된다! auth를 import 하도록!
여기까지, 추가로 더 해볼 수 있는 것은?
- 트위터, 구글로 로그인/회원가입 기능
- 회원가입 시 인증 이메일 발송 기능
- 비밀번호 찾기 기능: 메일 인증으로 비밀번호 초기화
- sendPasswordResetEmail 활용하여 패스워드 변경 기능을 프론트엔드에서 구현해보기: 메일 인
'[Study] 개발 공부 > [React] 리액트 공부' 카테고리의 다른 글
[React+Vite/TS] firebase 실시간으로 데이터 업데이트 하기(onSnapshot) (0) | 2024.05.31 |
---|---|
[React+Vite/TS] Firebase 쿼리와 패치 (0) | 2024.05.30 |
[React+Vite/TS] 에러핸들링과 로그인, 공통 컴포넌트 분리하기 (0) | 2024.05.27 |
[React+Vite/TS] Firebase에 인증된 사용자만 접근 가능한 라우트 만들기 (0) | 2024.05.17 |
[React+Vite/TS] Firebase 사용하여 이메일/비밀번호로 계정 생성하기 (0) | 2024.05.14 |