programing

에뮬레이터의 "이 앱은 Firebase 인증을 사용할 수 있는 권한이 없습니다."

yellowcard 2023. 6. 9. 21:55
반응형

에뮬레이터의 "이 앱은 Firebase 인증을 사용할 수 있는 권한이 없습니다."

에뮬레이터에서 앱을 실행하려고 하면 이 오류가 발생합니다.

내가 한 일:

  1. Firebase-UI를 사용하고 Android O를 실행하고 있습니다.
  2. Play Store를 업데이트했습니다.
  3. 저는 파이어베이스 콘솔에 SHA-1 코드를 모두 추가했고 패키지 이름이 일치합니다.

실제로 실제 기기에서 앱을 실행하면 완벽하게 실행되고 로그인할 수 있습니다.

This app is not authorized to use Firebase Authentication. Please verify that the correct package name and SHA-1 are configured in the Firebase Console.
 com.google.firebase.auth.FirebaseAuthException: This app is not authorized to use Firebase Authentication. Please verifythat the correct package name and SHA-1 are configured in the Firebase Console. [ App validation failed. Is app running on a physical device? ]
 at com.google.android.gms.internal.jz.zzK(Unknown Source:239)
 at com.google.android.gms.internal.kp.zza(Unknown Source:2)
 at com.google.android.gms.internal.kq.run(Unknown Source:37)
 at android.os.Handler.handleCallback(Handler.java:789)
 at android.os.Handler.dispatchMessage(Handler.java:98)
 at android.os.Looper.loop(Looper.java:164)
 at android.app.ActivityThread.main(ActivityThread.java:6541)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

남용을 방지하기 위해 에뮬레이터에서 Firebase 전화 인증이 작동하지 않습니다.

그러나 테스트 목적으로 사용하려면 에뮬레이터에서 작동하는 파이어베이스 콘솔에 테스트 전화 번호를 추가해야 합니다.

파이어베이스 콘솔 -> 인증 -> SIGN-IN 방법 -> 전화로 이동하여 "시험용 전화번호(선택사항)" 필드를 확인합니다.

여기에 이미지 설명 입력

안드로이드 스튜디오에서 sha1 세대:

오른쪽 패널에서 Android 스튜디오에서 Gradle 선택

앱 선택

작업 중 -> 안드로이드-> 서명 보고서

서명 보고서를 두 번 클릭합니다.

"Gradle Console"에서 sha1 지문을 찾을 수 있습니다.

이 sha1 지문을 파이어베이스 콘솔에 추가합니다.

좋습니다. 문서화된 오류입니다.https://github.com/firebase/FirebaseUI-Android/issues/790 및 https://github.com/firebase/FirebaseUI-Android/issues/868

남용을 방지하기 위해 에뮬레이터에서 전화 인증을 사용할 수 없습니다.

문서는 여기에 있습니다: https://firebase.google.com/docs/auth/android/phone-auth#before-you-begin

또한 전화 번호 로그인에는 물리적 장치가 필요하며 에뮬레이터에서는 작동하지 않습니다.

업데이트 프라사나 앙부의 답변을 보십시오.

무엇이 문제였는지 하루 종일 파악한 후에.범인을 찾았어요!우리가 선택한 것은 구글 플레이를 위한 앱 서명에서였습니다.우리는 앱 서명 자체에서 SHA-1을 등록해야 합니다.Google Play Console 내부의 Setup > App Integrity에서 확인할 수 있습니다.두 가지 유형의 인증서가 있습니다.

1. 인증서 업로드: 업로드한 키 저장소의 인증서 정보입니다.Google Play에서 업로드된 앱이 이 서명된 인증서와 일치하는지 확인하므로 로컬에서 앱 서명을 위한 키 저장소와 동일해야 합니다.

2. 앱 서명 인증서: 앱을 업로드한 후 Google은 업로드 인증서를 이 인증서로 대체합니다.이것은 Play Store에서 게시된 앱에 사용될 새로운 인증서입니다.

그 정보로, 저는 우리가 게시된 앱에서 사용하는 앱 서명 인증서에 SHA-1을 등록하지 않았다는 것을 깨달았습니다.그래서 저는 앱의 Firebase > Project Setting에서 SHA-1(필요에 따라 SHA-256도 포함) 지문을 추가했습니다(지문 추가 후 최신 구성 파일 업데이트를 잊지 마십시오).

따라서 SHA 지문을 추가한 후 Firebase SHA 인증서 지문은 다음과 같습니다.

여기에 이미지 설명 입력

이제 변경사항을 저장한 후 앱으로 돌아가서 다시 테스트하십시오. 지금 바로 작동합니다.

SHA1 키가 Firebase 콘솔에 등록되어 있지 않습니다.아래 그림과 같이 SHA 키를 생성하고 Android Studio 터미널에서 SHA 키를 복사하여 Firebase 콘솔 프로젝트 설정에 추가하기만 하면 됩니다.

여기에 이미지 설명 입력

또한 이 키를 생성하려면 릴리스 키 저장소를 사용해야 합니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

SHA1 지문을 생성한 후 사용자는 전화 인증 시 SHA1 오류에 직면하게 됩니다.

누군가에게 도움이 되길 바랍니다.

Firebase 콘솔에서 SHA-1을 구성해야 합니다.

Android Studio 도구를 사용하여 매우 쉽게 수행할 수 있습니다.

  1. 열다.Tools -> FirebaseAndroid Studio에서.
  2. 기능 중 하나를 클릭합니다.Authentication또는RealtimeDatabase.
  3. 를 클릭합니다.Connect to Firebase필요한 작업을 수행합니다.

또는

수동으로 추가합니다.이것 좀 보세요.

SHA-1을 안드로이드 애플리케이션에 추가하는 방법

저에게 문제는 단순히 테스트 전화 번호로 저장되지 않은 전화기(파이어베이스->인증->사인인 메소드->전화->여기에 테스트 전화 번호를 추가하는 에뮬레이터 작업을 하고 있었다는 것입니다.

SHA-1 인증서 생성키스토어 인증서의 이 링크 SHA-1 지문 선호
여기에 이미지 설명 입력

파이어베이스 콘솔을 열고 SHA-1 키를 여기에 추가합니다.

저는 또한 아래 사진과 같이 반응 네이티브 빌드에서 유사한 문제에 직면하고 있었습니다.저는 아래의 단계를 따라 문제를 해결했습니다.

여기에 이미지 설명 입력

@adirzoari에 따르면 안드로이드 스튜디오에서 반응형 프로젝트를 열고 다음을 수행합니다.

  1. 프로젝트를 실행합니다.
  2. Gradle 메뉴를 클릭합니다.
  3. Gradle Tasks 트리를 확장합니다.
  4. 안드로이드 -> signingReport를 더블클릭하면 결과가 나옵니다.

Android Studio 2.2의 경우 콘솔 실행에서 결과를 확인할 수 있지만 강조 표시된 전환 버튼을 사용합니다.

여기에 이미지 설명을 입력하십시오.수정 방법은 Firebase 콘솔에서 올바른 패키지 이름과 sha1이 구성되어 있는지 확인하십시오.

  1. 앱의 Klik Settings -> Project Settings -> General -> 핑거프린트(SHA 1) 추가 -> Save

  2. 그다음에 Klik 인증 -> 로그인 방법 -> 전화번호 테스트 (선택사항) -> 저장

  • 테스트할 전화 번호를 입력합니다(예: +1650-555-3434).
  • 해당 번호에 대한 6자리 인증 코드를 입력하십시오(예: 654321 여기에 이미지 설명 입력).
  1. 에뮬레이터에서 "코드가 전송됨"을 위한 작업입니다. 여기에 이미지 설명을 입력하십시오.

SHA-1을 언급하지 않고 SHA-1을 추가합니다.당신이 SHA-1을 가지고 있는 것처럼:

SHA1: 6G:49:58:57:A2:5C:2R:95:7D:32:19:4A:69:05:14:F2:31:0D:72:0a

이 항목만 Firebase Project 설정

6G:49:58:57:A2:5C:2R:95:7D:32:19:4A:69:05:14:F2:31:0D:72:0a

자세한 내용은

gradle 명령에서 SHA 키를 생성할 수 있습니다.

./gradew 서명 보고서

파이어베이스 콘솔 -> 인증 -> SIGN-IN 방법 -> 전화로 이동합니다.확인 코드가 있는 난수를 추가하여 "테스트용 전화 번호(선택 사항)" 필드에 이미지 설명을 입력합니다.

문제 해결 --> 프로젝트 설정에서 전화 공급자와 sh1 및 sh256을 활성화하고 인증을 위해 전화 번호를 보내는 동안 전화 번호에 국가 코드를 추가합니다.

언급URL : https://stackoverflow.com/questions/45707173/this-app-is-not-authorized-to-use-firebase-authentication-in-emulator

반응형