반응형
SMALL

구글로그인을 하기 위해서 서비스에 구글 로그인 버튼을 추가했습니다.
async function handleLoginWithGoogle() {
const provider = new GoogleAuthProvider()
signInWithPopup(auth, provider)
.then((result) => {
const { user } = result;
authStore.$patch({
auth: user,
});
authUser.email = user.email as string;
authUser.uid = user.uid;
router.push(`/${DIARY}`);
})
.catch((error) => {
// Handle Errors here.
const errorCode = error.code;
const errorMessage = error.message;
console.log(errorCode, errorMessage);
});
}
구글 로그인 버튼을 누르면 새 창이 열리면서 그 후 두 가지 유형이 있습니다.
1. 이전에 로그인 했던 유저 하나로만 자동으로 로그인
2. 유저가 하나 초과일 경우, 유저 선택 모달이 열리고 로그인 할 유저 선택 가능하게 로그인
1번을 하나의 유저로만 로그인했어도, 2번처럼 유저선택 창이 열리게 하려면
async function handleLoginWithGoogle() {
// 유저선택을 강제하기 위해서
// setCustomParameters를 추가해야합니다.
const provider = new GoogleAuthProvider().setCustomParameters({
prompt: 'select_account',
});
signInWithPopup(auth, provider)
.then((result) => {
const { user } = result;
authStore.$patch({
auth: user,
});
authUser.email = user.email as string;
authUser.uid = user.uid;
router.push(`/${DIARY}`);
})
.catch((error) => {
// Handle Errors here.
const errorCode = error.code;
const errorMessage = error.message;
console.log(errorCode, errorMessage);
});
}반응형
LIST
'기타' 카테고리의 다른 글
| 프론트엔드 엔지니어 커리어 로드맵: 주니어를 위한 3가지 전문성 트랙 (0) | 2023.01.07 |
|---|---|
| [Netlify] SPA 배포 후 새로고침시 404로 나올 때 대처하는 방법 (0) | 2022.06.19 |