Tag: firebase authentication

如何在Android应用程序中使用Firebase(BaaS)存储电子邮件和密码时包含用户名?

Firebase的createUser()方法需要一个电子邮件和密码字段,但是如果我还想允许用户使用与Snapchat,Instagram,StackOverflow等类似的用户名呢? 有没有办法修改现有的方法来接受该字段,或者我需要手动推送和pipe理这些信息,如果是这样的话? 这是我第一次尝试存储所需的用户信息: Firebase ref = new Firebase(firebaseURL); ref.createUser(email, password, new Firebase.ValueResultHandler<Map<String, Object>>() { @Override public void onSuccess(Map<String, Object> result) { System.out.println("Successfully created user account with uid: " + result.get("uid")); //Sign user in Firebase ref = new Firebase(firebaseURL); ref.authWithPassword(email, password, new Firebase.AuthResultHandler() { @Override public void onAuthenticated(AuthData authData) { System.out.println("User ID: " + authData.getUid() + […]

Firebase:设置其他用户属性

我想将属性添加到Firebase用户对象。 用户文档说,我只能使用Firebase实时数据库存储其他属性。 我不确定这在实践中如何运作 。 以下是什么意思? 您无法直接将其他属性添加到Firebase用户对象; 相反,您可以将其他属性存储在您的Firebase实时数据库中。 我把它解释如下: “您不能修改FIRUser对象的属性,但可以将其与其他对象组合” 我find了这样设置的函数文档 : var userRef = ref.child("users"); userRef.set({ newfield: "value" }); 这是一个明智的做法吗?

如何在外部方法中获取值asynchronousonDataChange()

对不起,如果我的英文不好。 但是我希望你能理解我编码中的错误。 我想从函数“ambilKey()”中检索值,以便在外部方法onDataChange()中获取“hasilKey”的值。 请让我的代码,我需要在外部方法onDataChange()getvalue“hasiKey”。 [MyPictureDatabaseFirebase] [1] [MyPictureResultLog] [2] public class IbuActivity extends AppCompatActivity { private FirebaseAuth mAuth; private String hasilKey="error"; private DatabaseReference dbAmbilKeyPengguna; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ibu); mAuth=FirebaseAuth.getInstance(); //Retrieve Value hasilKey is my problem ambilKey(); //Check Value Log.i("Result=",hasilKey); //hasilKey Not Working and not saved } private void ambilKey() { dbAmbilKeyPengguna=FirebaseDatabase.getInstance().getReference().child("DataPengguna").child(mAuth.getCurrentUser().getUid()).child("BisnisId"); dbAmbilKeyPengguna.addValueEventListener(new ValueEventListener() […]

如何将Firebase数据库locking到特定(电子邮件)域中的任何用户?

我有一个使用Firebase数据库的小型个人Firebase Web应用程序。 我想要保护(locking)这个应用程序从一个单一的,特定的域的任何用户。 我想与Google进行身份validation。 我不清楚如何configuration规则来说“只有来自单个特定域(比如@foobar.com )的用户才能读取和写入这个数据库”。 (我看到的一部分问题:很难用足够的信息来启动一个数据库来使这个用例工作,在authentication的时候我需要知道用户的电子邮件,但是auth对象不包含email。是一个鸡蛋问题,因为我需要编写引用数据库中的数据的Firebase规则,但由于我的用户无法写入数据库,所以数据还不存在。 如果auth有电子邮件,那么我可以很容易地编写规则。 提前致谢!

Firebase android:使用户名唯一

parsing将在今年年底closures,所以我决定开始使用Firebase。 我需要实现一个注册过程,有3个字段:电子邮件,用户名,密码( 电子邮件和用户名必须是唯一的我的应用程序)。 由于Firebase不提供简单的方式来pipe理像Parse这样的用户名,我决定只使用电子邮件/密码注册并保存一些额外的数据,如用户名。 这里是我的用户数据结构: app : { users: { "some-user-uid": { email: "test@test.com" username: "myname" } } } 但是,我想要做的是使用户名独特,并在创build一个帐户之前检查它。 这些是我的规则: { "rules": { ".read": true, ".write": true, "users": { "$uid": { ".write": "auth !== null && auth.uid === $uid", ".read": "auth !== null && auth.provider === 'password'", "username": {".validate": "!root.child('users').child(newData.child('username').val()).exists()"} } } } } […]