Articles of firebase authentication

升级Firebase后出现OAuth2问题

我有一个工作的Android应用程序(也许更好地说HAD)。 该应用程序正在使用一些第三方库,包括:谷歌地图,Firebase,firebaseui。 转换应用程序使用新的Firebase后,我偶然发现了两个主要问题: firebaseuilogin屏幕改变了,现在看起来像这样(从login对话框变成活动): 这当然是完全不同于旧版本的,也有一些与debugging版本不同的奇怪原因。 我无法使用谷歌login与logcat中显示以下错误: com.google.firebase.FirebaseException:发生内部错误。 [找不到服务器configuration中的OAuth2客户端ID。 ] 在debugging版本中,这个问题不再发生。 只是为了清楚debugging构build变体使用相同的代码库,但不同的firebase数据库。

如何从broadcastreceiver使用firebase数据库

我正在尝试使用来自BroadcastReceiver Firebase数据库来获取一些数据。 不幸的是,用户有时是null ,这意味着我不能使用UID获取数据。 @Override public void onReceive(final Context context, Intent intent) { FirebaseAuth.getInstance().addAuthStateListener(new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user = firebaseAuth.getCurrentUser(); if(user != null){ //sometimes not null }else{ //sometimes null } } }); } FirebaseAuth.getInstance().getCurrentUser有时也为null 。 另外,我的broadcastreceiver接收机里面没有长时间的运行。 我正在谈论的是在它下面没有任何节点的情况下获取单个opjes。 如何从BroadcastReceiver使用Firebase数据库?

在Play商店发布后,Googlelogin无法使用

我经历了这个过程,就这个过程而言,我做到了。 但是,当我从Play商店安装应用程序时,我无法使用google sign inbuttongoogle sign in 。 我已经使用谷歌loginFirebase。当我点击loginbutton的选项来select帐户即将到来,但它没有login或做任何事情。 那么我哪里可能会出错?

获取'E / TokenRequestor:你有错误的OAuth2相关configuration。 详细的错误:INVALID_AUDIENCE'即使在提供准确的客户端ID之后

我在我的应用程序中提供了GoogleSignIn选项。 这是我的代码: public class SignupActivity extends AppCompatActivity { private static final int RC_SIGN_IN = 1; GoogleApiClient mGoogleApiClient; FirebaseAuth mAuth; TextView appName; ProgressDialog signinProgressDialog; CoordinatorLayout coordinatorLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_signup); // Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); // setSupportActionBar(toolbar); signinProgressDialog = new ProgressDialog(SignupActivity.this); coordinatorLayout = (CoordinatorLayout) findViewById(R.id.signupCoordinatorLayout); // Configure Google Sign In GoogleSignInOptions […]

使用“每个电子邮件地址一个帐户”时FirebaseAuthInvalidCredentialsException

…如果您不允许多个帐户使用同一个电子邮件地址,则用户无法创build一个新帐户,该帐户使用电子邮件地址为ex@gmail.com的Google帐户login(如果已有帐户使用login电子邮件地址ex@gmail.com和一个密码。 我可以通过Google提供商login与通过电子邮件提供商注册的电子邮件相同的电子邮件,因此Google提供商取代了电子邮件提供商,而后者则无法使用FirebaseAuthInvalidCredentialsExceptionlogin:密码无效或用户没有密码。 。 重现步骤: 使用电子邮件提供商 注册 – >退出 – >使用Google提供商 login – >退出 基本上它不应该允许replace另一个提供者,并抛出FirebaseAuthUserCollisionException:该电子邮件地址已被另一个帐户使用。 我用于login/注销的一些代码: public void signUpEmail(String email, String password) { mFirebaseAuth.createUserWithEmailAndPassword(email, password) .addOnCompleteListener(this, task -> { if (!task.isSuccessful()) { Log.e("signUpWithEmail", task.getException()); } }); } private void firebaseAuthWithGoogle(GoogleSignInAccount acct) { AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null); mFirebaseAuth.signInWithCredential(credential) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull […]

Firebasepipe理员NoClassDefFoundError:FirebaseOptions $ Builder

我正在使用这个: FileInputStream serviceAccount; try { serviceAccount = new FileInputStream("firebase_key.json"); } catch (FileNotFoundException e) { System.out.println(e.getMessage()); return; } System.out.println("Reached here!"); FirebaseOptions options = new FirebaseOptions.Builder() .setCredential(FirebaseCredentials.fromCertificate(serviceAccount)) .setDatabaseUrl("https://*.firebaseio.com/") .build(); FirebaseApp.initializeApp(options); 但是,该应用程序崩溃与java.lang.NoClassDefFoundError for FirebaseOptions$Builder 我的build.gradle : dependencies { testCompile group: 'junit', name: 'junit', version: '4.11' compile 'com.google.firebase:firebase-admin:4.1.1' } 我正在使用IntelliJ。 logcat的: Exception in thread "main" java.lang.NoClassDefFoundError: com/google/firebase/FirebaseOptions$Builder 10:57:43 AM […]

Firebase会覆盖使用Google帐户login

在文档中似乎没有提到这一点,我发现的只是这个和这个 ,我想在这里确认一下: 如果存在具有相同电子邮件地址但是使用其他凭证(例如密码或不可信提供者)创build的现有账户,则出于安全原因移除先前的凭证。 如果用户通过Facebook或电子邮件/密码login,然后通过Googlelogin,则其帐户login方法将转换为Google。 它只发生在谷歌和只有一个帐户的设置是活动的。 它是打算如此,有什么办法来阻止它?

Android清单与facebook和firebase库合并

我导入了我的项目2库(在gradle文件中): … /* Firebase UI */ compile 'com.firebaseui:firebase-ui:0.4.0' /* Facebook login */ compile 'com.facebook.android:facebook-android-sdk:4.13.0' 但build立我的项目时,我有以下错误: D:\ Android \ Projects \ quoter \ app \ src \ main \ AndroidManifest.xml:68:13-58错误:属性activity#com.facebook.FacebookActivity@theme value =(@ style / FirebaseUI.Translucent)from [com。 firebaseui:firebase-ui-auth:0.4.0] AndroidManifest.xml:68:13-58也出现在[com.facebook.android:facebook-android-sdk:4.13.0] AndroidManifest.xml:32:13- 72值=(@ android:style / Theme.Translucent.NoTitleBar)。 build议:在AndroidManifest.xml:64:9-68:61的元素中添加'tools:replace =“android:theme”'来覆盖。 我发现扩展的jar子与Facebook sdk和Firebase UI库的清单文件,但我不知道改变它们是正确的方法来解决这个错误,因为每次我清理和重新构build我的项目新清单也产生… 我怎样才能解决这个错误? 在我看来,这两个库之间的不可兼容性… 注意:在我的应用程序清单中添加以下内容 <application tools:node="replace" 解决这个问题,但是启动应用程序是不可能的,因为Firebase没有正确初始化(请参阅https://stackoverflow.com/a/38060272/6503817 )

将谷歌应用程序引擎云端点的Firebase身份validation集成在一起

有人可以指定(有一些示例代码)如何validation谷歌云端点中的火力点令牌吗? 最近提出的问题根本就没有说清楚( 如何将Firebase身份validation与谷歌应用程序引擎端点集成 ) 端点中的Google身份validation通过将用户参数添加到端点来自动完成。 Facebook令牌可以通过以下的facebook图表来validation云端点: @ApiMethod(name = "endpoint.addUser", httpMethod = HttpMethod.POST) public ResultObject addUser(HttpServletRequest request, User pUser) throws OAuthRequestException { String token = request.getHeader("Authorization"); String graphUrl = "https://graph.facebook.com/v2.6/me?fields=id,name,email&access_token=" + token; URL u = new URL(g); URLConnection c = u.openConnection(); BufferedReader in = new BufferedReader(new InputStreamReader(c.getInputStream())); String inputLine; StringBuffer b = new StringBuffer(); while ((inputLine […]

在Firebase身份validation(android)之后创build数据库中的用户

我正在构build一个Android应用程序,我想我的用户是Auth然后添加到数据库。 目前,我只使用电子邮件和密码进行身份validation,然后单击注册,并在Firebase控制台的“身份validation”部分中创build用户。 但我也希望我的用户被添加到数据库中。 我想添加更多的字段(如姓名,地址等),这些字段将存储在Firebase的用户数据库中。 我真的不知道该怎么做。 任何人都可以解释吗? 谢谢!