Tag: firebase authentication

Firebase电子邮件和密码validation与Android – 用户注册

最近为我的应用程序创建了一个简单的注册页面,该页面采用了电子邮件和密码的两个值,检查它们是否有效,然后将它们传递给firebase函数以创建用户。 值正在正确传递,但是,我总是收到消息“注册失败”。 firebase连接处于活动状态,我允许用户使用电子邮件和密码validation进行注册。 我觉得这是我的build.gradle文件的一个问题,可能有错误的依赖项,但是,我是Firebase的新手,无法解决这个问题。 下面是我的Register表单,build.gradle文件和错误的控制台日志。 任何帮助将不胜感激。 注册表格 import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.Task; import com.google.firebase.auth.AuthResult; import com.google.firebase.auth.FirebaseAuth; public class RegisterPage extends AppCompatActivity { private EditText userEmail,userPassword; private Button regButton; private FirebaseAuth firebaseAuth; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register_page); setUpUIViews(); […]

如何解决Android Firebase错误“默认FirebaseApp未在此过程中初始化”?

我使用FirebaseAuth进行用户注册电子邮件和密码,我已经在我的项目中添加了插件和依赖项。 MainActivity.java public class MainActivity extends AppCompatActivity implements View.OnClickListener { EditText ed_email, ed_pass; Button but_login; ProgressDialog progressDialog; FirebaseAuth firebaseAuth; Context context; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); context=getApplicationContext(); FirebaseApp.initializeApp(context); firebaseAuth=FirebaseAuth.getInstance(); ed_email= (EditText) findViewById(R.id.ed_email); ed_pass= (EditText) findViewById(R.id.ed_pass); but_login= (Button) findViewById(R.id.but_login); but_login.setOnClickListener(this); progressDialog=new ProgressDialog(this); } public void registerUser(){ String email=ed_email.getText().toString().trim(); String pass=ed_pass.getText().toString().trim(); if(TextUtils.isEmpty(email)){ Toast.makeText(getApplicationContext(),”Invalid Input”,Toast.LENGTH_SHORT).show(); […]

Firebase身份validation的最新更改。 Google登录?

我向使用Firebase Google登录身份validation的用户提出了一个问题: 我的应用已经使用了几个月,它正在使用Google登录和电子邮件/密码选项进行Firebase身份validation。 然而大约一周前,我注意到Google登录已停止工作。 没有更改代码,电子邮件/密码选项也像往常一样工作。 我查看了文档( https://firebase.google.com/docs/auth/android/google-signin ),它仍然是相同的(我的应用程序从文档中复制了身份validation方法)。 你也遇到过类似的问题吗? 如果是,请告诉我如何解决它。 以下是我在LoginActivity中与Google登录相关的代码: @Override protected void onCreate(Bundle savedInstanceState) { … … //——–Google Sign In GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestIdToken(getString(R.string.default_web_client_id)) .requestEmail() .build(); mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this, new GoogleApiClient.OnConnectionFailedListener() { @Override public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { Toast.makeText(LoginActivity.this, “Connection failed!”, Toast.LENGTH_SHORT).show(); } }) .addApi(Auth.GOOGLE_SIGN_IN_API, gso) .build(); mGoogleBttn.setOnClickListener(new […]

Android – Firebase – 不同类型的用户登录

目标 允许不同类型的用户登录其各自的界面 描述 用户类型(3): 学生 亲 老师 每个用户都通过Firebase身份validation电子邮件注册 如果每个接口与另一个接口不同,则每个用户应该能够访问其各自的接口 每个用户都已与Firebase数据库中的各自子节点一起保存。 例如,在“用户”下面有一个“学校”,其下是用户类型,如“学生”,“家长”和“老师”。 用于可视化目的的数据库 用户 – >学校 ——>学生 ——>父母 ——>老师 问题 由于我目前正在使用Firebase身份validation电子邮件,因此我无法区分哪个用户是哪个。 建议的解决方案是创建具有3种类型用户的单选按钮,供用户在登录应用程序时进行选择。 这意味着用户必须通过输入他们的电子邮件,密码和选择他们的用户类型来登录。 问题是,如果“学生”用户在单选按钮上选择“父母”或“老师”并使用学生电子邮件登录,该应用程序仍会将“学生”电子邮件识别为“父母”或“老师” LoginActivity类 import android.content.Intent; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.Task; import com.google.firebase.auth.AuthResult; import com.google.firebase.auth.FirebaseAuth; import […]

Firebase身份validation和数据库

我对Firebase有疑问,我是新手。 我想在登录时返回用户名,但该名称在数据库中,我只想返回名称,当然,与在身份validation中找到的电子邮件一致,也在数据库中。 我的想法是将数据库中的电子邮件与Auth进行比较,如果是真的,请给我起名字。 但我不知道如何开发它。 解决方案? 谢谢

参数’pathString’为null

我在firebase中执行查询时遇到错误,我的查询代码如下所示: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_perfil); txtNome = (TextView) findViewById(R.id.txtNomePerfil); txtCpf = (TextView) findViewById(R.id.txtCpfPerfil); txtEmail = (TextView) findViewById(R.id.txtEmailPerfil); txtFone = (TextView) findViewById(R.id.txtCelularPerfil); txtPlaca = (TextView) findViewById(R.id.txtPlacaPerfil); imgPerfil = (ImageView) findViewById(R.id.imgPerfil); txtNomeFantasia = (TextView) findViewById(R.id.txtNomeFantasiaPerfil); txtCnpj = (TextView) findViewById(R.id.txtCnpjPerfil); firebaseUser = firebaseAuth.getInstance().getCurrentUser(); uId = firebaseUser.getUid(); email = firebaseUser.getEmail(); txtEmail.setText(email); databaseReference = FirebaseDatabase.getInstance().getReference(); databaseReference.child(“Usuario”).child(uId).child(“nome”) […]

注销和登录后,用户信息将重新初始化

每当用户注销并尝试再次登录时, JSON树中的所有属性都将重新初始化。 这是我的代码: @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == RC_SIGN_IN) { IdpResponse response = IdpResponse.fromResultIntent(data); if (resultCode == RESULT_OK) { // Sign-in succeeded, set up the UI FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser(); FirebaseUserMetadata metadata =mFirebaseAuth.getCurrentUser().getMetadata(); if (metadata.getCreationTimestamp() == metadata.getLastSignInTimestamp()) { // The user is new, show […]

在Google App Engine上validationFirebase令牌

我正在Google App Engine上开发一个应用程序。 我正在使用Cloud Endpoints在Google App Engine的后端Android应用程序之间进行通信。 Android客户端使用Firebase身份validation,并在每次调用时将Firebase令牌发送到Cloud Endpoints。 在Google App Engine中,我使用以下代码validationFirebase令牌。 我使用的是Firebase Admin SDK 4.0.3 Task authTask = FirebaseAuth.getInstance().verifyIdToken(token); try { Tasks.await(authTask); } catch (ExecutionException | InterruptedException e ) { log.severe(e.getMessage()); } FirebaseToken decodedToken = authTask.getResult(); 任务的执行正在Google App Engine后端任务中运行,但遗憾的是,此后端实例未关闭,因此我超出了我的免费配额限制。 那么有人可以给我一个提示如何在令牌validation后关闭后端实例吗?

Firebase身份validation限制

我是Firebase的新手,所以任何见解都值得赞赏。 我正在编写Java服务器端测试代码。 我从数据库中抓取了几个用户,并尝试将数据迁移到Firebase中经过用户身份validation的节点中。 我的代码从数据库中选择一些用户并为每个用户旋转一个新线程。 第一个线程成功连接和validation。 随后的同步身份validation尝试失败,并显示以下错误消息。 每个线程都有自己的Firebase引用对象实例。 同时登录的数量是否有限制,可能来自同一个IP地址? 尚未在文档中找到任何内容。 如果我将代码更改为在单个线程中运行并逐个登录并注销每个用户,那么我不会收到错误。 任何见解都非常赞赏。 Message: -5 Message: Due to another authentication attempt, this authentication attempt was aborted before it could complete. Firebase ref = new Firebase(“https://.firebaseio.com/”); ref.authWithPassword(mEmail, mPassword, new Firebase.AuthResultHandler() { @Override public void onAuthenticated(AuthData authData) { System.out.println(“Successfully authenticated: ” + mEmail); user.setUID(authData.getUid()); user.setCurrentUserRef(ref); done.set(true); } @Override public […]

使用Google的Firebase UI身份validation失败并显示消息(代码:10消息:10)

我制作了一个使用FirebasefunctionReal-time database的聊天应用。 我遇到了谷歌身份validation的问题。 当我从Play商店下载应用程序时,问题就出现了,当我在调试模式下运行应用程序时,身份validation工作正常。 当用户尝试登录时,他们会收到一个Toast消息code:10 message:10 。 我想在此注意:我添加了SHA1指纹。 我怎么解决这个问题? *不确定这是否有用,但我已按照本教程的步骤进行操作