Firebase电话身份验证

时间:2017-10-08 10:55:56

标签: java android firebase firebase-authentication

我尝试建立一个用户应该可以通过他的电话号码登录的信使。我在Firebase中使用正确的SHA-1代码和正确的包名设置了我的项目。但是当我尝试验证我的电话号码时,我收到了这个错误:

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]

当我从Android Studio启动我的应用程序时,它运行正常。但是,当我将应用程序上传到Google Play商店时,正在运行。我做错了什么?

我正在使用以下代码开始验证:

startActivityForResult(
                AuthUI.getInstance()
                        .createSignInIntentBuilder()
                        .setAvailableProviders(
                                Arrays.asList(
                                        new AuthUI.IdpConfig.Builder(AuthUI.PHONE_VERIFICATION_PROVIDER).build()
                                ))
                        .build(),
                RC_SIGN_IN);

我有这个用于身份验证的库:

compile 'com.google.firebase:firebase-auth:11.0.1'

和UI的这个:

compile 'com.firebaseui:firebase-ui:2.0.1'

1 个答案:

答案 0 :(得分:3)

我认为您有两个SHA-1密钥,一个在Android Studio中使用,另一个在将应用程序上传到Store时使用。您可以使用keytool命令检查SHA-1密钥:

keytool -list -v -keystore keystorename -alias alias -storepass storepass -keypass keypass

此外,如果您启用了App Signing,Google将创建一个新证书,用于在用户设备上对APK进行签名。

https://support.google.com/googleplay/android-developer/answer/7384423

在“发布管理”部分中,选中“应用程序签名”。 App Signing Certificate是发送给用户设备的证书,Upload Certificate是您上传的证书。将App Signing Certificate中的SHA-1添加到Firebase项目中。