Авторизация через google с помощью firebaseUi в android studio на java не работает при установке через APK
Использую аутентификацию через google с помощью FirebaseUI в android studio на java.
public class MainActivity extends AppCompatActivity {
private final ActivityResultLauncher<Intent> signInLauncher =
registerForActivityResult(
new FirebaseAuthUIActivityResultContract(),
new ActivityResultCallback<FirebaseAuthUIAuthenticationResult>() {
@Override
public void onActivityResult(FirebaseAuthUIAuthenticationResult result) {
onSignInResult(result);
}
}
);
...
List<AuthUI.IdpConfig> providers = Arrays.asList(
new AuthUI.IdpConfig.GoogleBuilder().build());
protected void onCreate(Bundle savedInstanceState) {
...
Intent signInIntent = AuthUI.getInstance()
.createSignInIntentBuilder()
.setIsSmartLockEnabled(false)
.setAvailableProviders(providers)
.build();
signInLauncher.launch(signInIntent);
...
private void onSignInResult(FirebaseAuthUIAuthenticationResult result) {
IdpResponse response = result.getIdpResponse();
if (result.getResultCode() == RESULT_OK) {
// Successfully signed in
user=mAuth.getCurrentUser();
String userEmail = user.getEmail(); // Getting user email
String userName = user.getDisplayName(); // Getting username
Toast.makeText(context, "User authorization: login: "+userName+" email:
"+userEmail, Toast.LENGTH_LONG).show();
auth=true;
startButton.setVisibility(View.VISIBLE);
// ...
}else{
Toast.makeText(context, "User authorization failed Error:
"+response.getError().getErrorCode(), Toast.LENGTH_LONG).show();
Log.d("Authorization", "User authorization failed Error: " +
response.getError().getErrorCode());
}
}
...
Если устанавливаю используя отлатку через USB в android studio на смартфон, то все нормально работает. Если устанавливаю через APK файл, авторизация не проходит и response.getError().getErrorCode() показывает ошибку 4.
Ответы (1 шт):
Автор решения: badmaev2208
→ Ссылка
Я нашел ошибку. В firebase был указан sha-1 и sha-256 debug версии. Для релизной версии нужно отпечаток релизной версии. Нужно с помощью keytool получить SHA-1 и SHA-256 релизной версии, и указать в Firebase.