Android Firebase未将AccessToken交换为Firebase凭据?
我对Firebase非常陌生,但我正在创建一个应用程序,它使用Facebook登录功能允许用户登录。我的代码可以检索用户登录时提供的AccessToken,但在调用Android Firebase未将AccessToken交换为Firebase凭据?,android,firebase,facebook-login,firebase-authentication,Android,Firebase,Facebook Login,Firebase Authentication,我对Firebase非常陌生,但我正在创建一个应用程序,它使用Facebook登录功能允许用户登录。我的代码可以检索用户登录时提供的AccessToken,但在调用handleFacebookAccessToken() 我的应用程序没有崩溃,因此没有堆栈跟踪 private void handleFacebookAccessToken(AccessToken token) { Log.d("FB Token", "handleFacebookAccessToken:" + tok
handleFacebookAccessToken()
我的应用程序没有崩溃,因此没有堆栈跟踪
private void handleFacebookAccessToken(AccessToken token) {
Log.d("FB Token", "handleFacebookAccessToken:" + token);
AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
mAuth.signInWithCredential(credential)
.addOnCompleteListener(getActivity(), new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
Log.d("Sign-in Successful", "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("Sign-in failed", "signInWithCredential", task.getException());
}
// ...
}
});
}
私有无效handleFacebookAccessToken(AccessToken令牌){
Log.d(“FB令牌”,“handleFacebookAccessToken:+令牌”);
AuthCredential credential=FacebookAuthProvider.getCredential(token.getToken());
mAuth.SIGNWITH凭证(凭证)
.addOnCompleteListener(getActivity(),new OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
Log.d(“登录成功”,“使用凭据登录:onComplete:”+task.isSuccessful());
//如果登录失败,则向用户显示消息。如果登录成功
//将通知身份验证状态侦听器,并使用逻辑来处理
//可以在侦听器中处理已登录用户。
如果(!task.issusccessful()){
w(“登录失败”,“signInWithCredential”,task.getException());
}
// ...
}
});
}
这就是我调用方法的地方
mCallback = new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
AccessToken accessToken = loginResult.getAccessToken();
final Profile profile = Profile.getCurrentProfile();
handleFacebookAccessToken(accessToken);
}
mCallback=newfacebookcallback(){
@凌驾
成功时公共无效(LoginResult LoginResult){
AccessToken AccessToken=loginResult.getAccessToken();
最终配置文件=Profile.getCurrentProfile();
handleFacebookAccessToken(accessToken);
}
是的,您有跟踪。您能看到“FB令牌”和“登录失败”的值吗?如果您什么也看不到,请将这些值写入日志搜索输入。如果运气不好,请使用断点在调试模式下再次执行应用程序(您可以在方法handleFacebookAccessToken的末尾添加它们)。这将使您有机会在liveYes上查看值。是的,您有跟踪。您能看到“FB令牌”和“登录失败”的值是多少吗?如果您什么都看不到,请将这些值写入日志搜索输入。如果运气不好,请使用断点在调试模式下再次执行应用程序(您可以在方法handleFacebookAccessToken中添加它们)。这将使您有机会在live上查看值