使用Firebase.ui.auth和google登录到我的应用程序时,会发生此错误,由于该错误,也无法从firestore获取数据。该代码可以正常工作到昨天。
com.firebase.ui.auth.FirebaseUiException: Error when saving credential.
at com.firebase.ui.auth.viewmodel.smartlock.SmartLockHandler$1.onComplete(SmartLockHandler.java:98)
at com.google.android.gms.tasks.zzj.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: com.google.android.gms.common.api.ApiException: 6: Passphrase required.
at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source:4)
at com.google.android.gms.common.internal.zai.zaf(Unknown Source:2)
at com.google.android.gms.common.internal.zaj.onComplete(Unknown Source:6)
at com.google.android.gms.common.api.internal.BasePendingResult.zaa(Unknown Source:172)
at com.google.android.gms.common.api.internal.BasePendingResult.setResult(Unknown Source:131)
at com.google.android.gms.common.api.internal.BaseImplementation$ApiMethodImpl.setResult(Unknown Source:36)
at com.google.android.gms.internal.auth-api.zzo.zzc(Unknown Source:4)
at com.google.android.gms.internal.auth-api.zzv.dispatchTransaction(Unknown Source:9)
at com.google.android.gms.internal.auth-api.zzd.onTransact(Unknown Source:12)
at android.os.Binder.execTransact(Binder.java:731)
代码:] >>
List<AuthUI.IdpConfig> providers = Arrays.asList( new AuthUI.IdpConfig.EmailBuilder().build(), new AuthUI.IdpConfig.TwitterBuilder().build(), new AuthUI.IdpConfig.FacebookBuilder().build(), new AuthUI.IdpConfig.GoogleBuilder().build() ); startActivityForResult( AuthUI.getInstance() .createSignInIntentBuilder() .setAvailableProviders(providers) .build(),1 ); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 1) { IdpResponse response = IdpResponse.fromResultIntent(data); if (resultCode == RESULT_OK) { if (response.isNewUser()) { String username = FirebaseAuth.getInstance().getCurrentUser().getDisplayName(); Intent userintent = new Intent(this,UserActivity.class); userintent.putExtra("userName",username); startActivity(userintent); } else { Intent timelineIntent = new Intent(this, TimelineActivity.class); timelineIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(timelineIntent); } } else { if (response.getError().getErrorCode() == ErrorCodes.PROVIDER_ERROR) finish(); if (response == null) finish(); } } }
SmartLockHandler.java
下面是根据日志发生错误的文件
使用Firebase.ui.auth和google登录到我的应用程序时,会发生此错误,由于该错误,也无法从firestore获取数据。该代码可以正常工作到昨天。 com.firebase ....
当您在Google帐户上的密码受到密码保护时,会发生这种情况。我认为这应该是ResolvableApiException
,但是他们没有为这种情况下的编码分辨率处理做出任何努力。因此,您必须忍受密码短语用户将无法从Smart Lock中受益的事实。为了进行测试,您可以重置密码。参见说明:https://support.google.com/chrome/answer/165139