【发布时间】:2016-09-19 10:45:21
【问题描述】:
我一直在阅读 Firebase 文档以在我的 android 应用中设置用户身份验证系统。然而,由于某种原因,我的 FirebaseAuth 对象上似乎没有任何回调正在运行!
例如,按照here 的指示设置 Facebook 身份验证
private void handleFacebookAccessToken(AccessToken token) {
Log.d("AUTH", "handleFacebookAccessToken:" + token.getToken());
// ...
AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
Log.d("AUTH", "Credential: "+credential);
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
Log.d("AUTH", "signInWithCredential:onComplete:" + task.isSuccessful());
// If sign in fails, display a message to the user. If sign in succeeds
// the auth state listener will be notified and logic to handle the
// signed in user can be handled in the listener.
if (!task.isSuccessful()) {
Log.w("AUTH", "signInWithCredential", task.getException());
Toast.makeText(LoginActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
}
// ...
}
});
}
Facebook 方面一切正常,但在使用检索到的 fb 凭据登录时,signInWithCredential 函数不会运行任何回调,而且我的用户数据库中似乎没有任何事情发生。
此外,我尝试了更简单的方法
mAuth.createUserWithEmailAndPassword(etUserID.getText().toString(), etPassword.getText().toString());
也没有任何反应。我已经在我的 Firebase 控制台中启用了这两个提供程序,并为该项目下载了最新的 google-services.json 文件。我错过了什么吗?
编辑:刚刚尝试运行快速启动身份验证演示,但效果不佳。我确实在我的模拟器上看到,除非我更新谷歌服务,否则这个应用程序将无法运行。这是导致此错误的原因吗?我尝试在各种模拟器上更新谷歌服务,但只是返回一个错误。
【问题讨论】:
-
我认为问题与回调未完成有关,因为没有回调触发......类似于这个问题:stackoverflow.com/questions/29975024/…
-
我也看到了。尝试了自定义和匿名身份验证,它们都不起作用。只是不调用回调。
标签: android facebook firebase firebase-authentication