Firebase:我可以使用 Facebook 的新帐户工具包来验证应用程序用户吗?
Firebase: Can I use Facebook's new Account Kit to authenticate app users?
Facebook 刚刚在 F8 2016 上推出 Account Kit。
它使应用程序用户可以使用他们的 phone 号码或电子邮件地址登录。
我已经尝试使用它返回的访问令牌对 Firebase 的常规 Facebook 登录进行身份验证,但没有成功。
是否已经有使用 Facebook Account Kit 通过 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)
我在 Firebase Google Group 中得到了以下答案:
Yeah, after discussing with another Firebase engineer, I'm pretty sure
Firebase Authentication does not actually support Account Kit. Sorry.
We have no plans to support it in the works, but will revisit if we
get enough people asking for it.
是的,可以使用 Firebase Custom Authentication。
您需要设置一个可以创建 Firebase 自定义令牌的身份验证服务器,使用 accountkit 用户 ID 或 phone 数字作为 uid。
从身份验证服务器收到自定义令牌后,您就可以像这样使用它登录 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();
}
}
});
此 blog post 包含有关如何实施它的详细分步指南。
Facebook 刚刚在 F8 2016 上推出 Account Kit。
它使应用程序用户可以使用他们的 phone 号码或电子邮件地址登录。
我已经尝试使用它返回的访问令牌对 Firebase 的常规 Facebook 登录进行身份验证,但没有成功。
是否已经有使用 Facebook Account Kit 通过 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)
我在 Firebase Google Group 中得到了以下答案:
Yeah, after discussing with another Firebase engineer, I'm pretty sure Firebase Authentication does not actually support Account Kit. Sorry. We have no plans to support it in the works, but will revisit if we get enough people asking for it.
是的,可以使用 Firebase Custom Authentication。
您需要设置一个可以创建 Firebase 自定义令牌的身份验证服务器,使用 accountkit 用户 ID 或 phone 数字作为 uid。
从身份验证服务器收到自定义令牌后,您就可以像这样使用它登录 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();
}
}
});
此 blog post 包含有关如何实施它的详细分步指南。