$authWithPassword
ユーザーのログインには Firebaseメソッドを使用します。メソッドを使用$createUser
してユーザーの登録を作成し、成功したら /users/ パスのエントリを更新して、ユーザー名、uid、およびその他の詳細を保存します。ここにコードがあります
var myDataRef = new Firebase(baseURL + 'datalog/');
var refObj = $firebaseAuth(myDataRef);
refObj.$createUser({
email: $scope.emailId,
password: $scope.password
}).then(function(userData) {
var UserUniqueUrl = new Firebase(baseURL + 'users/' + userData.uid + '/');
UserUniqueUrl.set({
'email': $scope.emailId,
'username': $scope.username,
'uid': userData.uid,
'theme': 'default'
}, function(error) {
if (error) {
console.log(error);
} else {
console.log('Successfully updated in user table');
}
});
}).catch(function(error) {
if (error.code == 'EMAIL_TAKEN') {
$scope.regStatusError = 'Email already registered!';
} else {
$scope.regStatusError = 'Unable to register! Try again later.';
}
});
そして、これが私のセキュリティルールです
{
"rules": {
"users": {
".read": "auth != null",
".write": "auth != null"
}
}
}
ここで登録しようとすると、セキュリティ ルール".read": "auth != null"
と".write": "auth != null"
. ルールを".read": true
およびに変更すると".write": true
、登録は機能しますが、uid や電子メール ID などのユーザー データを誰でも見ることができてしまい、望ましくありません。ニーズに合わせてルールを変更するにはどうすればよいですか?