我正在使用firebase + angularjs应用程序,我正在使用简单的电子邮件和密码验证,它正常工作.
我只是想知道我是否可以在firebase email + password auth正在使用的用户表上添加额外的用户数据,就像我想添加有关用户的计费信息和其他详细信息而无需在firebase上创建额外的节点/表来存储这些额外的数据.
firebase angularfire firebasesimplelogin firebase-authentication
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() …
android firebase firebase-authentication firebase-realtime-database
我想向Firebase用户对象添加属性.该用户文档说我可以用火力地堡实时数据库只存储附加属性.
我不确定这在实践中如何发挥作用.
以下在实践中意味着什么?
您无法直接向Firebase用户对象添加其他属性; 相反,您可以将其他属性存储在Firebase实时数据库中.
我把它解释如下:
"你不能修改FIRUser对象的属性,但你可以将它与其他对象结合起来"
我发现了以这种方式插入的set函数文档:
var userRef = ref.child("users");
userRef.set({
newfield: "value"
});
Run Code Online (Sandbox Code Playgroud)
这是一种明智的做法吗?
database-design firebase firebase-authentication firebase-realtime-database
是否可以将自定义字段添加到 Firebase 中的用户配置文件表?
现在看起来我只能将数据添加到:
我希望能够将自定义对象添加到 JSON 字符串以包含所有用户数据。
javascript firebase firebase-authentication react-native-firebase
到目前为止,我真的很感动Firebase。但是我想知道如何定制用户电子邮件身份验证。我想添加以下字段:年龄和性别,供用户在注册时填写。
这是我的SignUpActivity.java。
public class SignUpActivity extends AppCompatActivity {
private EditText inputEmail, inputPassword, signupInputUsername, signupInputAge;
private Button btnLinkLogin, btnSignUp, btnResetPassword;
private ProgressBar progressBar;
private FirebaseAuth auth;
private Spinner sexSpinner;
String defaultTextForSpinner = "Sex";
String[] arrayForSpinner = {"Male", "Female"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
//Get Firebase auth instance
auth = FirebaseAuth.getInstance();
inputEmail = (EditText) findViewById(R.id.signup_input_email);
signupInputUsername = (EditText) findViewById(R.id.signup_input_username);
inputPassword = (EditText) findViewById(R.id.signup_input_password);
signupInputAge = (EditText) findViewById(R.id.signup_input_birthday);
sexSpinner = (Spinner)findViewById(R.id.spinner);
sexSpinner.setAdapter(new CustomSpinnerAdapter(this, R.layout.spinner_row, …Run Code Online (Sandbox Code Playgroud) 我已经通过Firebase的文档进行了搜索,似乎找不到向FIRAuth添加自定义属性的方法.我正在从Parse-Server迁移应用程序,我知道我可以设置用户的用户名,电子邮件和objectId.不,我看到我可以选择电子邮件,displayName和photoURL.我希望能够添加自定义属性,如用户名.例如,我可以使用:
let user = FIRAuth.auth()?.currentUser
if let user = user {
let changeRequest = user.profileChangeRequest()
changeRequest.displayName = "Jane Q. User"
changeRequest.photoURL =
NSURL(string: "https://example.com/jane-q-user/profile.jpg")
changeRequest.setValue("Test1Name", forKey: "usersName")
changeRequest.commitChangesWithCompletion { error in
if error != nil {
print("\(error!.code): \(error!.localizedDescription)")
} else {
print("User's Display Name: \(user.displayName!)")
print("User's Name: \(user.valueForKey("name"))")
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,我收到"usersName"不符合键值的错误.这不是正确的代码.我似乎无法找到另一种方式.
我想向firebase身份验证添加一个新数据,其中包含displayname,phone number,image等数据.但我想添加更多这样的性别,生日等等.是否可以添加新的?
javascript firebase reactjs react-native firebase-authentication
firebase ×7
android ×2
javascript ×2
angularfire ×1
database ×1
react-native ×1
reactjs ×1
swift ×1
xcode ×1