• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    해결됨

Firebase Error (Auth / invalid-email) 란 오류가 발생합니다

21.12.13 09:46 작성 조회수 1.48k

0

로그인정보를 정확히 입력해도 

오류가 발생합니다

firebase.js 는 수정하였습니다

 

import {initializeApp} from 'firebase/app';
import {getAuth, signInWithEmailAndPassword} from 'firebase/auth';
import config from '../firebase.json';

const app = initializeApp(config);
const auth = getAuth(app);

export const signin = async ({email, password}) => {
   const {user} = await signInWithEmailAndPassword(auth, email, password);
   return user;
};

로그인정보는 

shafeel2@naver.com  

dch0611  

 

입니다

 

전체 코드는 깃헙에 올려두었습니다
https://github.com/dongguntechnology/rn-chat

 

답변 7

·

답변을 작성해보세요.

0

shafeel2님의 프로필

shafeel2

질문자

2021.12.14

헉 ! 

알고보니 이메일주소뒤에 공백문자가 들어가 있었군요 

해결되었나이다 

캄사합니다

0

shafeel2님의 프로필

shafeel2

질문자

2021.12.14

firebase.js 내용입니다

전체 코드는 수정해서 깃헙에 올려두었습니다
https://github.com/dongguntechnology/rn-chat
 
 
import {initializeApp} from 'firebase/app';
import {getAuth, signInWithEmailAndPassword} from 'firebase/auth';
import config from '../firebase.json';

const app = initializeApp(config);
const auth = getAuth(app);

export const signin = async ({email, password}) => {
   const {user} = await signInWithEmailAndPassword(auth, email, password);
   return user;
};

안녕하세요, 

  

앞선 질물에 답변을 남겨놨는데, 글을 삭제하셨네요. 

답변을 읽었는지 모르겠지만, shafeel2님의 코드와 알려준 ID/PW를 이용하면 정상적으로 로그인이 진행됩니다. 

  

invalid email이라는 에러로 미루어 짐작해보면, 아이디를 입력할때 스페이스나 기타 다른 무언가가 추가로 들어가서 유효한 이메일이 아니라고 인식하는것 같습니다. 

만약 복사-붙여넣기를 하고 있다면, 붙여넣기 이후 이메일의 앞과 끝에 공백 등이 없는지 잘 확인해 보시기 바랍니다. 

되도록 복사-붙여넣기 보다는 직접 타이핑하는 것을 추천합니다. 

  

다시 한 번 말씀드리지만, 현재 깃헙에 올려놓은 코드를 받아서 실행해보면 잘 동작하고 있습니다. 

변경된 내용이 잘 적용되었는지 확인해 보시고,

반영이 잘 되지 않는다면, 종료 후 다시 실행하시기 바랍니다. 

  

감사합니다. 

0

shafeel2님의 프로필

shafeel2

질문자

2021.12.14

삭제된 글입니다

안녕하세요, 

  

shafeel2님 깃헙코드와 알려주신 아이디/비밀번호로 테스트를 해보면 정상적으로 동작합니다. 

아마 아이디 입력에 오타가 있어서 이메일 형식이 올바르지 않다는 에러메시지가 나타나는것 같습니다. 

invalid-email

만약 복사-붙여넣기로 테스트하고 계시면, 복사-붙여넣기가 아닌 직접 타이핑으로 진행해 보시기 바라며, 복사-붙여넣기 이후 입력된 데이터의 제일 앞이나 끝에 공백이 있는지 잘 확인해 보시기 바랍니다. 

  

감사합니다

0

shafeel2님의 프로필

shafeel2

질문자

2021.12.13

삭제된 글입니다

깃헙 코드를 보면 제가 위에서 얘기한 수정 내용이 아직 적용되어있지 않네요.

firebase.js  파일 9line을 다음과 같이 수정하세요.

const { user } = await signInWithEmailAndPassword(Auth, email, password)

signInWithEmailAndPassword함수는 인자로 Auth, email(string), password(string)을 받습니다. 

공식 문서를 확인해 보시기 바랍니다. 

링크: https://firebase.google.com/docs/reference/js/auth.md?authuser=0#signinwithemailandpassword

수정 후에도 계속 같은 에러 메시지가 나타나면, expo 를 종료 후 재시작 해보시기 바랍니다. 

  

깃헙에 공개된 코드를 현재 사용하고 계신 firebase 버전에 맞게 수정했습니다. 

문제가 발생하면 코드를 비교해보면서 어떤 부분이 다른지 확인해보시고, 

왜 문제가 되는지 원인을 찾아보시기 바랍니다. 

링크 : https://github.com/Alchemist85K/inflearn-react-native/tree/main/rn-chat

 

감사합니다. 

 

 

0

shafeel2님의 프로필

shafeel2

질문자

2021.12.13

삭제된 글입니다

Signin.js 파일34line에 Auth는 필요 없습니다.

firebase.js 파일 9line 함수에 (Auth, email, password) 로 전달해야합니다. 

  

문제가 발생하면, 에러 메시지에서 어느곳에 문제가 있는지 대략적으로 알려주고 있습니다.

단순 오타인 경우가 많으니 차분하게 코드를 확인해 보시고, 
에러 메시지에서 문제가 된다고 하는 부분을 검색해서 확인해보세요

  

감사합니다

0

안녕하세요, 

  

현재 코드를 다음과 같이 수정하시기 바랍니다. 

import { initializeApp } from 'firebase/app';
import { getAuth, signInWithEmailAndPassword } from 'firebase/auth';
import config from '../firebase.json';

const app = initializeApp(config);
const auth = getAuth(app);

export const signin = async ({ email, password }) => {
const { user } = signInWithEmailAndPassword(auth, email, password);
return user;
};

 

강의가 firebase 강의가 아니다보니 변경된 사용방법 모두를 알려드리기는 어렵습니다.
변경된 사용 방법은 firebase 문서를 참고하시기 바랍니다. 

문서를 통해 확인해보면, 
Auth.함수(param1, param2) 처럼 사용하던것을
함수(auth, param1, param2) 로 사용하는것을 볼 수 있습니다. 

대부분 비슷한 형식으로 변경되었으니, 문서를 확인하면서 사용하시기바랍니다. 

현재 사용하고있는 signInWithEmailAndPassword 함수의 문서 링크는 다음과 같습니다. 
링크 : https://firebase.google.com/docs/reference/js/auth.md?authuser=0#signinwithemailandpassword

    

즐거운 하루 되세요

감사합니다.

안녕하세요, 

  

깃헙에 있는 강의 소스코드를 업데이트했습니다. 

현재 문제를 겪고 있는, firebase 버전 문제도 처리되어 있으니 참고자료로 활용하시기 바랍니다. 

깃헙 링크

  

즐거운 하루 되세요

감사합니다. 

0

안녕하세요 shafeel2님, 

  

앞선 질문에서 제가 말씀드린 코드 수정내용이 아직 적용되어 있지 않네요. 
src/firebase.js 파일을 다음과 같이 수정해주세요

import { initializeApp } from 'firebase/app';
import { getAuth } from 'firebase/auth';
import config from '../firebase.json';

const app = initializeApp(config);
const Auth = getAuth(app);

export const signin = async ({ email, password }) => {
const { user } = await Auth.signInWithEmailAndPassword(email, password);
return user;
};

Auth 변수에 실제로 firebase의 auth가 할당되어있는지 확인해 보시기 바랍니다. 

 

추가적으로 screens/Profile.js 파일에서 4line에 import Navigation from '../navigations'; 를  삭제하시고,

18line에 Navigation.navigate 로 코딩되어 있는 부분을 navigation.navigate로 변경하시기 바랍니다. 

  

즐거운 하루 되세요

감사합니다.