다른 프로젝트에 이미 패키지 이름과 SHA-1이 동일한 OAuth2 클라이언트가 있습니다.

이 메시지는 왜 표시되나요?

이 오류는 지정된 패키지 이름과 SHA-1을 갖는 OAuth 2.0 클라이언트 ID가 다른 Firebase 또는 Google 클라우드 프로젝트에 포함된 사실이 감지될 때 발생합니다. Firebase 콘솔에서 Android 애플리케이션에 Firebase를 추가하면 앱의 Google OAuth 2.0 클라이언트 ID가 생성되며, 이 ID는 앱 초대 또는 드라이브 API 등의 일부 Google API에서 앱을 인증하는 데 사용됩니다. 보안을 위해, OAuth 2.0 클라이언트 ID를 만드는 데 사용되는 패키지 이름과 SHA-1 지문의 조합은 모든 Firebase 및 Google 클라우드 프로젝트를 통틀어 고유해야 합니다.

애플리케이션에 어떠한 영향이 있나요?

Android 앱의 패키지 이름과 SHA-1을 구성해야 하는 Firebase 기능은 현재 두 가지입니다.

  • 초대: SHA-1이 없으면 작동하지 않습니다. 다른 프로젝트의 SHA-1을 사용하는 방법은 현재 불가능합니다.
  • 인증: Google을 인증 제공업체로 사용하려면 로그인 구성에서 기존 프로젝트의 클라이언트 ID를 수동으로 허용 목록에 추가해야 합니다.

어떻게 해야 하나요?

Firebase 초대를 사용하거나 Google을 Firebase 인증 로그인 제공업체로 사용하는 경우가 아니라면 어떠한 조치도 취할 필요가 없습니다. 이러한 기능 중 하나를 사용하는 경우 다음 중에서 상황에 가장 적합한 시나리오를 참조하세요.

충돌하는 OAuth 2.0 클라이언트 ID가 어느 Google 클라우드 프로젝트에 포함되었는지 알고 있으며, Firebase 프로젝트를 삭제해도 관계없거나 초대 기능을 사용해야 합니다.
Firebase 앱이 이미 프로덕션 단계이거나 Firebase Analytics 또는 오류 데이터를 보존하려는 경우 이 방법은 권장되지 않습니다.

이 프로젝트를 방금 만들었거나 앱에 아직 Firebase를 본격적으로 통합하지 않은 경우, 가장 간단한 방법은 프로젝트를 삭제하고 기존 Google 프로젝트를 대신 가져오는 것입니다. 방법은 다음과 같습니다.

  1. Firebase 프로젝트를 삭제합니다. 이 작업은 되돌릴 수 없으며 프로젝트에 연결된 모든 데이터가 삭제됩니다.
  2. Firebase 콘솔로 이동합니다.
  3. Google 프로젝트 가져오기를 클릭합니다.
  4. OAuth 2.0 클라이언트 ID를 포함하는 기존 프로젝트를 선택하고 Firebase 추가를 클릭합니다.
기존 프로젝트를 가져올 수 없으며 초대 기능을 사용하지 않습니다.

기존 프로젝트를 가져올 수 없으며 초대 기능을 사용할 계획이 없는 경우, 기존 OAuth 2.0 클라이언트 ID를 수동으로 허용 목록에 추가하여 Google을 로그인 제공업체로 사용할 수 있습니다.

우선 기존 프로젝트의 OAuth 2.0 클라이언트 ID를 찾습니다. 방법은 다음과 같습니다.

  1. Google Cloud Console의 사용자 인증 정보 페이지로 이동합니다. OAuth 2.0 클라이언트 ID를 포함하는 프로젝트가 자동으로 열리지 않은 경우 페이지 오른쪽 상단의 드롭다운 메뉴에서 프로젝트를 선택합니다.
  2. OAuth 2.0 클라이언트 ID 섹션에서 Firebase 프로젝트에 사용한 SHA-1 및 패키지 이름을 포함하는 클라이언트 이름을 찾습니다. 확실하지 않은 경우 클라이언트 이름을 클릭하여 세부정보를 확인합니다.
  3. 올바른 클라이언트 이름을 찾았으면 클라이언트 ID 열의 전체 값을 복사합니다.

다음으로 이 클라이언트 ID를 허용 목록에 추가하여 Google을 로그인 제공업체로 사용합니다. 방법은 다음과 같습니다.

  1. Firebase 콘솔로 이동하고 프로젝트를 선택합니다.
  2. 왼쪽 메뉴에서 인증을 선택합니다.
  3. 로그인 방법 탭을 선택합니다.
  4. 로그인 방법 페이지의 로그인 제공업체 카드에서 Google을 클릭합니다.
  5. 외부 프로젝트의 클라이언트 ID 허용 옵션을 펼칩니다.
  6. Cloud Console에서 복사한 클라이언트 ID를 입력란에 붙여넣고 추가를 클릭합니다.
충돌하는 OAuth 2.0 클라이언트 ID가 어느 프로젝트에 들어 있는지 모릅니다.

충돌하는 OAuth 2.0 클라이언트 ID가 어느 프로젝트에 들어 있는지 모르는 경우 다음과 같은 방법으로 찾아 보세요.

  1. Google Cloud Console의 사용자 인증 정보 페이지로 이동합니다.
  2. OAuth 2.0 클라이언트 ID 섹션에서 클라이언트 이름을 클릭하여 클라이언트 ID를 만드는 데 사용된 SHA-1 및 패키지 이름을 확인합니다. 올바른 클라이언트 이름을 찾을 때까지 모든 클라이언트를 확인해 보세요.

일치하는 SHA-1 및 패키지 이름이 포함된 클라이언트 이름을 찾지 못한 경우, 페이지 오른쪽 상단의 드롭다운 메뉴에서 다른 프로젝트를 선택하고 위 절차를 반복합니다.

내가 소유하지 않은 프로젝트에 OAuth 2.0 클라이언트가 있을 수도 있습니다. 충돌하는 프로젝트를 찾지 못한 경우 충돌하는 패키지 이름과 SHA-1 지문을 기재하여 Firebase 지원을 요청하세요.

도움이 되었나요?
어떻게 하면 개선할 수 있을까요?