在Firebase控制台上,我确保已启用登录方法SHA-1进行调试和发布,包括软件包名称正确。但是,虽然其他登录方法(例如电子邮件,Google登录,匿名)正在运行。它总是在phoneAuth方法上给我一个FirebaseAuthException:
此应用无权使用Firebase身份验证,请 验证正确的程序包名称和SHA-1。
我正在使用带有活动SIM卡的真实设备。尝试添加短信和电话权限,但仍然无法正常工作。即使我正在使用documentation(+1 650-555-3434)中的测试电话号码,
下面是我的代码:
private void phoneVerification(String phoneNumber) {
PhoneAuthProvider.getInstance().verifyPhoneNumber(
phoneNumber,
60,
TimeUnit.SECONDS,
this,
new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onVerificationCompleted(PhoneAuthCredential credential) {
Log.e(TAG, "onVerificationCompleted : " + credential.getSmsCode());
}
@Override
public void onVerificationFailed(FirebaseException e) {
Log.e(TAG, "onVerificationFailed : " + e.toString());
if (e instanceof FirebaseAuthInvalidCredentialsException) {
} else if (e instanceof FirebaseTooManyRequestsException) {
Log.e(TAG, "Quota exceeded.");
}
}
@Override
public void onCodeSent(String verificationId,
PhoneAuthProvider.ForceResendingToken forceResendingToken) {
Log.e(TAG, "onCodeSent : " + verificationId);
}
});
}
修改
在遇到一些试验错误之后,我发现问题不是出自SHA-1或软件包。其原因是没有将该号码列入白名单或使用文档中的相同号码(+1 650-555-3434)。
我的问题是: