DEV WIKI
보안 · 오류·증상

auth/id-token-revoked

Firebase Admin Node.js Authentication API에서 Firebase ID 토큰이 취소되었을 때 표시되는 오류 코드입니다.

빠른 답변

우선 확인할 원인
`auth/id-token-revoked`는 Firebase ID 토큰이 취소되었음을 나타냅니다.
먼저 확인할 항목
현재 화면 또는 로그의 오류 코드가 `auth/id-token-revoked`와 정확히 일치하는지 확인합니다.
적용 범위
현재 증상과 본문에 적은 관찰 조건이 함께 확인된 경우
출처 확인일
2026-07-29
최종 검토
2026-07-24
수정일
2026-07-27
오류·수정 제보 (새 창에서 열림)

현재 증상

  • 애플리케이션 오류 메시지

먼저 확인할 항목

현재 화면 또는 로그의 오류 코드가 `auth/id-token-revoked`와 정확히 일치하는지 확인합니다.

오류 코드가 일치하면 원문 설명인 Firebase ID 토큰 취소 상태와 대조합니다.

환경별 원인과 조치

auth/id-token-revoked 오류 코드는 Firebase ID 토큰이 취소되었음을 나타냅니다.

확인 방법

현재 화면 또는 로그에 표시된 오류 코드가 정확히 auth/id-token-revoked인지 확인합니다. 일치하면 Firebase ID 토큰 취소 상태를 나타내는 오류로 식별합니다.

출처

진단 기록

먼저 문제가 발생한 URL 또는 화면, 표시 시각, 사용한 플랫폼과 배포 버전을 기록합니다. 화면과 로그에서 오류 문자열이 일부만 보이면 앞뒤 문장을 포함해 원문을 보존하고, 민감한 값은 가립니다.

다음 순서로 관찰값을 대조합니다.

  1. 현재 화면 또는 로그의 오류 코드가 auth/id-token-revoked와 정확히 일치하는지 확인합니다.
  2. 오류 코드가 일치하면 원문 설명인 Firebase ID 토큰 취소 상태와 대조합니다.

각 항목은 확인한 값과 확인하지 못한 이유를 함께 기록해야 합니다. 이 문서의 조건과 실제 관찰값이 다르면 원인을 단정하지 말고, 문제 해결 시작 가이드에서 더 넓은 분기를 선택하십시오.

판정 기준

오류 문자열이 일치한다는 사실만으로 원인이 확정되지는 않습니다. 같은 문구가 여러 환경에서 나타날 수 있으므로 웹서버·런타임·운영체제·최근 변경 사항을 함께 비교합니다. 한 단계에서 기대한 값이 나오지 않으면 다음 단계로 넘어가지 말고 해당 환경의 공식 문서를 우선 확인합니다.

안전한 다음 단계

검사 전에 백업과 변경 이력을 확인하고, 비밀번호·세션 쿠키·인증 토큰·개인정보를 공개 로그나 문의 내용에 넣지 않습니다. 설정·권한·데이터를 변경해야 한다면 영향 범위와 되돌리는 방법을 먼저 기록한 뒤 운영 시간과 승인 절차에 맞춰 진행합니다.

원인 분포

[Observation] 관측된 사례 기준으로는 다음 원인이 확인되었습니다.

  • 이미 발급된 ID token은 refresh token을 폐기해도 즉시 종료되지 않았습니다.
  • 토큰 검증에서 폐기 검사 옵션을 사용하지 않아 폐기 상태를 구분하지 못했습니다.
  • 클라이언트 SDK에서 ID token 폐기 여부를 직접 검증하려 했으며, 서버 측 Admin SDK 검증이 필요했습니다.

[Hypothesis] 세 사례에서는 토큰 폐기 자체보다 폐기 상태를 검증하고 그 결과를 클라이언트 세션 처리에 반영하는 구성이 핵심으로 보입니다.

오진 함정

  • [Observation] refresh token 폐기만으로 이미 발급된 ID token 세션이 즉시 종료된다고 판단하면 실제 세션 상태와 다를 수 있습니다.
  • [Observation] checkRevoked 옵션 없이 토큰을 검증하면 폐기된 토큰을 정상 토큰과 구분하지 못할 수 있습니다.
  • [Observation] 클라이언트 SDK만으로 폐기 여부를 확인하려 하면 검증 책임이 맞지 않을 수 있습니다. 사례에서는 Admin SDK를 사용하는 백엔드 검증으로 처리했습니다.

환경 매트릭스

환경·구성관측된 처리
백엔드 토큰 검증verifyIdToken에서 폐기 검사를 수행했습니다.
단일 기기 로그인 정책토큰 폐기 후 검증에서 checkRevoked 옵션을 사용했습니다.
React Native 클라이언트클라이언트가 직접 폐기 여부를 검증하지 않고 백엔드 응답에 따라 로그아웃했습니다.
클라이언트 세션 처리auth/id-token-revoked 발생 시 로그아웃 또는 재인증을 수행했습니다.

진단 순서

  1. [Observation] refresh token을 폐기한 뒤에도 이미 발급된 ID token 세션이 남아 있는지 확인합니다.
  2. [Observation] 백엔드의 ID token 검증이 폐기 검사 옵션을 사용하는지 확인합니다.
  3. [Observation] 클라이언트 SDK에서 직접 검증하고 있지 않은지 확인하고, 서버 측 Admin SDK 검증 여부를 확인합니다.
  4. [Observation] 백엔드가 auth/id-token-revoked를 반환할 때 클라이언트가 로그아웃 또는 재인증을 수행하는지 확인합니다.

참고 자료

Admin Authentication API Errors | Firebase Authentication (새 창에서 열림)

Firebase · 공식 자료 · 확인 범위: Firebase Admin Node.js Authentication API는 `auth/id-token-revoked` 오류 코드를 제공합니다., `auth/id-token-revoked`는 Firebase ID 토큰이 취소되었음을 나타냅니다. · 확인일: 2026-07-24

Stack Overflow · 운영 사례 (새 창에서 열림)

확인 범위: Refresh token을 폐기해도 이미 발급된 ID token 세션은 즉시 종료되지 않을 수 있습니다., 백엔드에서 verifyIdToken의 폐기 검사를 수행하고 auth/id-token-revoked 발생 시 클라이언트를 로그아웃하도록 처리했습니다. · 확인일: 2026-07-29

Stack Overflow · 운영 사례 (새 창에서 열림)

확인 범위: Firebase 토큰 폐기 뒤 세션 종료를 확인하려면 검증 시 checkRevoked 옵션이 필요합니다., auth/id-token-revoked 발생 시 재인증 또는 로그아웃하도록 구현했습니다. · 확인일: 2026-07-29

Stack Overflow · 운영 사례 (새 창에서 열림)

확인 범위: ID token의 폐기 여부 검증은 클라이언트 SDK가 아니라 Admin SDK를 사용하는 서버 측 책임으로 처리했습니다., 백엔드가 폐기 검사 결과로 auth/id-token-revoked를 반환하고 앱이 응답에 따라 로그아웃하도록 구성했습니다. · 확인일: 2026-07-29