簡體   English   中英

Google 登錄引發異常 com.google.android.gms.common.api.ApiException: 12500

[英]Google Sign In throws an exception com.google.android.gms.common.api.ApiException: 12500

我有一個用 Android 編寫的簡單應用程序,我想在其中執行 Google Sign 和 Firebase 身份驗證。 我從官方頁面復制粘貼代碼。

val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .requestIdToken(getString(R.string.default_web_client_id))
    .requestEmail()
    .build()

if (requestCode == REQUEST_CODE_GOOGLE_SIGN_IN) {
    val task = GoogleSignIn.getSignedInAccountFromIntent(data)
    try {
        // Google Sign In was successful, authenticate with Firebase
        val account = task.getResult(ApiException::class.java)
        firebaseAuthWithGoogle(account.idToken!!)
    } catch (e: ApiException) {
        // Google Sign In failed, update UI appropriately
        Log.w("aaa", "Google sign in failed", e)
        // ...
    }
}

但是這個簡單的代碼拋出異常com.google.android.gms.common.api.ApiException: 12500:

有什么問題,我檢查了在線資源,每個人都說添加支持電子郵件,添加應用程序圖標,但是要添加應用程序圖標,我需要通過 OAuth 驗證過程,這會詢問很多我目前沒有的數據,因為我只是開始開發我的應用程序,請幫助我已經嘗試解決這個問題 48 小時了。

因為至少在我將它上傳到 Play 商店之前它是有效的

問題(一項名為Play App Signing的功能)

似乎 Google Play 商店正在簽署您的應用程序,而不是您,因此 Firebase 檢測到不同的簽名密鑰,並阻止身份驗證。 重新簽名應用程序是Google Play 商店的一項功能,而阻止通過簽名您尚未驗證的密鑰簽名的應用程序進行 Firebase 身份驗證是一項Firebase 功能

解決方案

轉到 Google Play Store Console → 設置 → 應用簽名 → App signing key certificate ,復制 SHA-1 證書指紋。

然后轉到Firebase 控制台→ 項目設置 → 您的應用程序 → 添加指紋 → 並粘貼SHA1

你在做什么

告訴 Firebase 接受由 Google Play 商店處理的密鑰簽名的應用生成的身份驗證請求。 它以前只接受來自本地簽名應用程序簽名的應用程序的請求,其中密鑰存儲在您的計算機上。

從這里復制 SHA-1:

Play 管理中心屏幕截圖

在此處粘貼 SHA-1 作為指紋:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM