Ste*_*fen 6 android facebook ios firebase firebase-authentication
Facebook刚刚在F8 2016 上推出了Account Kit.
它使应用程序用户可以使用他们的电话号码或电子邮件地址登录.
我已经尝试使用它返回的访问令牌来验证Firebase的常规Facebook登录,但它没有用.
是否已经有办法使用Facebook帐户套件使用Firebase对应用程序用户进行身份验证?
附加信息
我可以通过Account Kit登录并获得访问令牌 AccountKit.getCurrentAccessToken();
然后,我尝试使用访问令牌对Firebase进行身份验证:
选项1)
mFirebaseRef.authWithOAuthToken("facebook", accessToken.getToken(), new AuthResultHandler("facebook"));
- > FirebaseError:提供的身份验证凭据无效.
选项2)
mFirebaseRef.authWithCustomToken(accessToken.getToken(), new Firebase.AuthResultHandler() { ... }
- > FirebaseError:登录失败 - 无法解析身份验证令牌.
(顺便说一句,访问令牌字符串是使用常规Facebook登录按钮登录时生成的令牌长度的一半.)
我想知道我是否已经可以使用Account Kit生成的令牌来验证Firebase?
-
(顺便说一句.我也试着在这里得到一个答案:https://groups.google.com/forum/#!topic / firebase-talk/qrb1gWBKO3M )
小智 6
是的,可以使用Firebase自定义身份验证.
您需要使用accountkit用户ID或电话号码作为uid来设置可以创建Firebase自定义令牌的身份验证服务器.
从身份验证服务器收到自定义令牌后,您可以使用它来登录firebase,如下所示:
mAuth.signInWithCustomToken(mCustomToken)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
Log.d(TAG, "signInWithCustomToken:onComplete:" + task.isSuccessful());
if (!task.isSuccessful()) {
Log.w(TAG, "signInWithCustomToken", task.getException());
Toast.makeText(CustomAuthActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
}
}
});
Run Code Online (Sandbox Code Playgroud)
这篇博文有关于如何实现它的详细分步指南.
| 归档时间: |
|
| 查看次数: |
3228 次 |
| 最近记录: |