Articles of firebase authentication

Firebase:无法解析google auth和GoogleSignInResult库

我刚刚开始使用Android,我正在考虑使用Google Firebase进行Google登录。 不幸的是我无法导入 import com.google.android.gms.auth.api.Auth; import com.google.android.gms.auth.api.signin.GoogleSignInResult; 我得到的错误是 Cannot resolve symbol Auth Cannot resolve symbol GoogleSignInResult 我的Project build.gradle看起来像 dependencies { classpath ‘com.android.tools.build:gradle:2.1.3’ classpath ‘com.google.gms:google-services:3.0.0’ } 我的模块build.gradle看起来像 apply plugin: ‘com.google.gms.google-services’ ……. ……. ……. dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) testCompile ‘junit:junit:4.12’ compile ‘com.android.support:appcompat-v7:24.2.0’ compile ‘com.android.support:design:24.2.0’ compile ‘com.facebook.android:facebook-android-sdk:[4,5)’ compile ‘com.android.support:support-v4:24.2.0’ compile ‘com.google.firebase:firebase-auth:9.4.0’ compile ‘com.google.firebase:firebase-core:9.4.0’ } 以下是错误 […]

尝试在Firebase数据库中保存对象时出错“java.lang.StackOverflowError:”

我是firebase的新手。 我试图将我的应用程序中列出的用户的属性保存到数据库Firebase ,这是代码 mAuthListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { firebaseuser = firebaseAuth.getCurrentUser(); if (firebaseuser != null) { finish(); firebaseuser = mAuth.getCurrentUser(); String nama = firebaseuser.getDisplayName(); String mail = firebaseuser.getEmail(); //String pass = password.getText().toString(); String id = firebaseuser.getUid(); //Uri gambar = firebaseuser.getPhotoUrl(); member1 = new Member(nama, mail, “”, “belum”, “belum”, […]

Android中的Firebase身份validation错误

这是屏幕截图我试图从谷歌使用firebase身份validation登录当时在我的项目中有一个错误 com.google.firebase.auth.FirebaseAuthException:不允许此操作。 您必须在控制台中启用此服务。 它也说ERROR_OPERATION_NOT_ALLOWED 不允许此操作。 您必须在控制台中启用此服务。

如何从Android上的firebase获取用户uid?

我想将数据保存到firebase。 这是我的活动代码: private Firebase firebaseRef; Firebase.setAndroidContext(this); try { mUserId = firebaseRef.getAuth().getUid(); } catch (Exception e) { // loginWithMailView(); } itemsUrl = Constants.FIREBASE_URL + “/Person/” + mUserId +”/Information/”; //Person + null (?) + the other information 这是我的按钮代码: buttonSave = (Button) findViewById(R.id.btnKaydolKayit); buttonSave.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { firebaseRef = new Firebase(Constants.FIREBASE_URL); String name […]

使firebase存储公开以便在android上进行读写

我是firebase存储的新手。 谁能告诉我如何将存储文件公开用于读写? firebase提供的默认代码如下所示。 我应该做些什么改变? service firebase.storage { match /b/image-view-b1cf5.appspot.com/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } }

如何使用Firebase身份validation首次检查用户是否正在登录

我正在使用Firebase数据库和Firebase身份validation,允许用户使用电子邮件/密码或Google登录进行登录。 在登录活动中,我正在尝试检查用户是否与Google签约,是第一次或是否正在执行此操作。 如果这是他第一次签名,则会显示一个对话框并请求用户的年龄和性别; 如果不是,则不应出现对话框。 我遇到的问题是,如果用户使用Google登录,则始终会显示对话框,无论是否是第一次。 这是我的代码,我试图检查用户是否第一次登录: protected void updateActivity(FirebaseUser user) { Log.d(TAG ,”updateActivity(FirebaseUser) – Ini”); final boolean[] exist = {false}; if(user != null) { ArrayList providers = (ArrayList) user.getProviders(); if(!providers.isEmpty() && providers.get(0).equals(“google.com”)) { username = user.getEmail().substring(0,user.getEmail().indexOf(‘@’)); String userId = user.getUid(); Query query = mRef.orderByChild(“userName”).equalTo(username); query.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for(DataSnapshot userSnapShot […]

在Android应用中使用移动数据时无法使用Firebase对用户进行身份validation,但使用wifi时无错误

在Android上使用移动数据使用Firebase身份validation时,我在运行应用时遇到以下错误 : com.google.firebase.FirebaseException: An internal error has occured. [ Internal error. ] at com.google.android.gms.internal.zzacq.zzbN(Unknown Source) at com.google.android.gms.internal.zzacn$zzg.zza(Unknown Source) at com.google.android.gms.internal.zzacy.zzbO(Unknown Source) at com.google.android.gms.internal.zzacy$zza.onFailure(Unknown Source) at com.google.android.gms.internal.zzact$zza.onTransact(Unknown Source) at android.os.Binder.execTransact(Binder.java:412) at dalvik.system.NativeStart.run(Native Method) 但是,当我使用wifi运行相同的应用程序时, 没有显示错误并且身份validation通常没有任何错误,并使用以下消息而不是上述错误: Considering local module com.google.android.gms.firebase_database:2 and remote module com.google.android.gms.firebase_database:2 Selected remote version of com.google.android.gms.firebase_database, version >= 2 我用来validation/创建用户的代码如下: mAuth.createUserWithEmailAndPassword(emailSignup, passwordSignup) .addOnCompleteListener(LogInSignUp.this, new […]

未检索Firebase用户的显示名称和照片url

我正在使用Firebase开发Android应用程序,在我的应用程序中,我正在使用Firebase匿名登录和Google登录。 如果用户未登录,应用程序启动时,我使用匿名身份validation登录用户。 之后,当用户选择使用Google登录时,我将匿名帐户转换为永久帐户。 我在这里的问题是,当用户的帐户从匿名帐户转换为永久帐户(在这种情况下使用Google登录)时,我没有获得用户的显示名称和照片url。 要从匿名帐户转换为永久帐户,我使用下面的代码。 AuthCredential credential = GoogleAuthProvider.getCredential(googleIdToken, null); mAuth.getCurrentUser().linkWithCredential(credential) .addOnCompleteListener(this, new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { Log.d(TAG, “linkWithCredential:onComplete:” + task.isSuccessful()); if (!task.isSuccessful()) { Toast.makeText(AnonymousAuthActivity.this, “Authentication failed.”,Toast.LENGTH_SHORT).show(); //If Google Account already linked up with other UID Tasks.await(mAuth.signInWithCredential(credential)).getUser(); } } }); 登录过程完成后,将调用AuthStateListener onAuthStateChanged,然后在onAuthStateChanged中,我将提取用户的显示名称,用户的照片URL和用户的电子邮件。 下面是onAuthStateChanged代码。 @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { […]

在Firebase Android中初始化FirebaseApp

我试图在android studio中创建一个登录表单并集成新的firebase https://console.firebase.google.com并将我的代码从旧版更改为新版。 我在执行申请后得到了这个, java.lang.IllegalStateException:名称为[DEFAULT]的FirebaseApp不存在。 我不知道如何使用新的Firebase设置或初始化它。 这是我为validation用户和getInstance所做的。 FirebaseAuth mAuth = FirebaseAuth.getInstance(); FirebaseApp app = Firebase.getInstance(FirebaseApp.DEFAULT_NAME); 在这部分我有一个错误,有没有人有想法?

使用身份validation拒绝(读取和写入)Firebase权限

我想在我的数据库中读取和写入身份validation,但我得到了两个Permission denied 。 我想弄清楚它为什么不起作用。 我使用默认规则,因为我想要身份validation,如文档中所述。 默认规则需要身份validation。 它们允许对应用程序的经过身份validation的用户进行完全读写>访问。 如果您希望数据打开>应用程序的所有用户但不希望它向全世界开放,则它们非常有用。 Firebase规则: { “rules”: { “.read”: “auth != null”, “.write”: “auth != null” } } 创建用户 : auth.createUserWithEmailAndPassword(email, password) .addOnCompleteListener(this, new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { Log.d(“USER_CREATE”, “createUserWithEmail:onComplete:” + task.isSuccessful()); // If sign in fails, display a message to the user. If sign in […]