Facebook 的 FirebaseUI 身份验证不起作用
FirebaseUI authentication with Facebook not working
我正在使用 FirebaseUI-Authentication。使用电子邮件或 Google 帐户登录成功,但使用 Facebook 登录无效。在启动 AuthUI activity 并尝试使用 Facebook 登录后,不会调用 onActivityResult()
。尝试登录后,应用卡在加载中 window。 logcat 输出 FirebaseApp 日志:
Notifying background state change listeners.
在 Facebook 应用程序仪表板上,我设置了 有效的 OAuth 重定向 URI,如 firebase 指南所述,我设置了应用程序 public(是否重要是 public 还是处于开发状态?)。
在 Firebase 控制台 中,我启用了 Facebook 登录并设置了 App ID 和 App secret。
This 是一个视频记录,显示了点击登录 activity 后使用 Facebook 登录后发生的情况。
为什么 onActivityResult()
没有被调用?
主要活动:
/**
* Use this method to start the FirebaseUI sign in activity.
*/
public void switchToSignIn() {
this.activity.startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setProviders(
AuthUI.EMAIL_PROVIDER,
AuthUI.GOOGLE_PROVIDER,
AuthUI.FACEBOOK_PROVIDER)
.build(), RC_SIGN_IN);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == RC_SIGN_IN) {
if (resultCode == this.activity.RESULT_OK) {
// user is signed in!
Log.d(Constants.TAG_LoginHandler, "Sign in result: RESULT_OK");
logUserInfo();
tryAccessMainFragment();
} else {
Log.d(Constants.TAG_LoginHandler, "Sign in result: RESULT_CANCELLED");
// user is not signed in. Maybe just wait for the user to press
// "sign in" again, or show a message
}
}
}
build.gradle:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.firebaseui:firebase-ui:0.4.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'de.hdodenhof:circleimageview:1.3.0'
}
apply plugin: 'com.google.gms.google-services'
尝试更新到 Google Play 服务的新版本,他们修复了一些与 Firebase 身份验证相关的问题。 (虽然他们没有特别提到Facebook登录)
Google Play 服务已更新至 9.0.2 Google Play 服务版本 9.0.2 现已发布。此版本修复了 Firebase 身份验证的一个已知问题,即 FirebaseAuthApi 在某些设备上不可用。
如果您使用的是 FirebaseUI,则必须将这个确切的字符串放入 strings.xml:
<string name="facebook_application_id" translatable="false">APPID</string>
APPID 可以在您的 developers.facebook.com 控制面板上找到。
另外请务必在 Facebook 应用中添加您的 android 密钥哈希和 OAuth firebase URL。
这发生在我身上,也可能发生在某些人身上,我忘记在 firebase 控制台中启用 facebook 身份验证!
转到 firebase conosle 和 select 你的应用程序然后转到身份验证-> 登录方法并启用 facebook 并从你的 facebook deevloper 项目添加应用程序 ID 和密钥
我正在使用 FirebaseUI-Authentication。使用电子邮件或 Google 帐户登录成功,但使用 Facebook 登录无效。在启动 AuthUI activity 并尝试使用 Facebook 登录后,不会调用 onActivityResult()
。尝试登录后,应用卡在加载中 window。 logcat 输出 FirebaseApp 日志:
Notifying background state change listeners.
在 Facebook 应用程序仪表板上,我设置了 有效的 OAuth 重定向 URI,如 firebase 指南所述,我设置了应用程序 public(是否重要是 public 还是处于开发状态?)。 在 Firebase 控制台 中,我启用了 Facebook 登录并设置了 App ID 和 App secret。
This 是一个视频记录,显示了点击登录 activity 后使用 Facebook 登录后发生的情况。
为什么 onActivityResult()
没有被调用?
主要活动:
/**
* Use this method to start the FirebaseUI sign in activity.
*/
public void switchToSignIn() {
this.activity.startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setProviders(
AuthUI.EMAIL_PROVIDER,
AuthUI.GOOGLE_PROVIDER,
AuthUI.FACEBOOK_PROVIDER)
.build(), RC_SIGN_IN);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == RC_SIGN_IN) {
if (resultCode == this.activity.RESULT_OK) {
// user is signed in!
Log.d(Constants.TAG_LoginHandler, "Sign in result: RESULT_OK");
logUserInfo();
tryAccessMainFragment();
} else {
Log.d(Constants.TAG_LoginHandler, "Sign in result: RESULT_CANCELLED");
// user is not signed in. Maybe just wait for the user to press
// "sign in" again, or show a message
}
}
}
build.gradle:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.firebaseui:firebase-ui:0.4.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'de.hdodenhof:circleimageview:1.3.0'
}
apply plugin: 'com.google.gms.google-services'
尝试更新到 Google Play 服务的新版本,他们修复了一些与 Firebase 身份验证相关的问题。 (虽然他们没有特别提到Facebook登录)
Google Play 服务已更新至 9.0.2 Google Play 服务版本 9.0.2 现已发布。此版本修复了 Firebase 身份验证的一个已知问题,即 FirebaseAuthApi 在某些设备上不可用。
如果您使用的是 FirebaseUI,则必须将这个确切的字符串放入 strings.xml:
<string name="facebook_application_id" translatable="false">APPID</string>
APPID 可以在您的 developers.facebook.com 控制面板上找到。
另外请务必在 Facebook 应用中添加您的 android 密钥哈希和 OAuth firebase URL。
这发生在我身上,也可能发生在某些人身上,我忘记在 firebase 控制台中启用 facebook 身份验证! 转到 firebase conosle 和 select 你的应用程序然后转到身份验证-> 登录方法并启用 facebook 并从你的 facebook deevloper 项目添加应用程序 ID 和密钥