Firebase를 사용해서 개발할 때 로그인 관련 테스트를 정말 많이 하게 된다. 백번쯤 로그인을 했다가 풀었다가 난리를 치는 것 같은데... 항상 코드를 통해 요청을 보내는 것이 상당히 번거롭다.
따라서 curl 명령어를 통해 (그나마) 간단하게 유저 정보를 등록하고 토큰을 발급 받는 방식을 사용했었다.
# Create a test user
curl -X POST -H "Content-Type: application/json" -d '{"email":"<USER_EMAIL>","password":"<USER_PASSWORD>","returnSecureToken":true}' "https://www.googleapis.com/identitytoolkit/v3/relyingparty/signupNewUser?key=<API_KEY>"
POST 요청시 아래와 같은 응답을 받을 수 있는데, idToken
이 인증에 사용되는 토큰, localId
가 user uid
라고 생각하면 된다.
# Get an ID token for the test user
curl -X POST -H "Content-Type: application/json" -d '{"email":"<USER_EMAIL>","password":"<USER_PASSWORD>","returnSecureToken":true}' "https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=<API_KEY>"
이미 등록된 유저의 idToken이 필요할 때, 주로 api 작성을 할 때 인증 관련 테스트를 할 때 필요하다.
아까와 비슷하지만 약간 다른 응답이 온다! 약 60분간 유효한 토큰이므로 복사해서 쓰면 된다!
<비밀번호가 틀린 경우>
<이메일이 틀린 경우 (미가입 계정 / 계정 삭제 후)>
<사용 중지된 계정의 경우>