You*_*ode 23 android firebase firebase-authentication firebase-realtime-database
Firebase createUser()方法需要一个电子邮件和密码字段,但是如果我还想让用户使用类似于Snapchat,Instagram,StackOverflow等的自定义用户名呢?是否有任何方法可以修改现有方法以接受该字段,或者我是否需要手动推送和管理此信息,如果是这样的话?
这是我第一次尝试存储所需的用户信息:
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() + ", Provider: " + authData.getProvider());
//Save user info
Firebase userRef = new Firebase(firebaseURL + "Users/");
User user = new User(username, authData.getUid());
userRef.setValue(user);
Run Code Online (Sandbox Code Playgroud)
这是好习惯吗?我想用存储用户名的UID可以帮助我将来处理更改等.另外,我应该实现updateChildren()或push()方法,以便如果这是一个社交媒体应用程序,条目不会被覆盖?
这是我的第二次尝试:
@Override
public void onAuthenticated(AuthData authData) {
System.out.println("User ID: " + authData.getUid() + ", Provider: " + authData.getProvider());
//Save user info and username
Firebase ref = new Firebase(firebaseURL);
Map<String, String> map = new HashMap<String, String>();
map.put("email", email);
map.put("username", username);
map.put("provider", authData.getProvider());
ref.child("users").child(authData.getUid()).setValue(map);
Run Code Online (Sandbox Code Playgroud)
Fra*_*len 15
显示包含三个字段的表单:
将后两者发送到Firebase的createUser()方法.然后在完成回调中,将所有信息存储在Firebase数据库中.
var userName, emailAddress, password;
// TODO: read these values from a form where the user entered them
var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com");
ref.createUser({
email : emailAddress,
password : password
}, function(error, authData) {
if (error) {
console.log("Error creating user:", error);
} else {
// save the user's profile into the database so we can list users,
// use them in Security and Firebase Rules, and show profiles
ref.child("users").child(authData.uid).set({
provider: authData.provider,
name: userName
});
}
});
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅此页面,了解有关在Firebase文档中存储用户数据的信息.
| 归档时间: |
|
| 查看次数: |
37147 次 |
| 最近记录: |