を拒否::許可は、私はFacebookの/グーグルでログインした後、新しいユーザーを作成しようとしているが、とのエラーを取得しています
error_handler.js:46 EXCEPTION: Uncaught (in promise): Error: PERMISSION_DENIED: Permission deniedErrorHandler.handleError @ error_handler.js:46next @ application_ref.js:291schedulerFn @ async.js:89SafeSubscriber.__tryOrUnsub @ PERMISSION_DENIED: Permission denied
私のルールは以下のとおりです。
"users": {
"$uid": {
// grants write access to the owner of this user account whose uid must exactly match the key ($uid)
".write": "auth !== null && auth.uid === $uid",
// grants read access to any user who is logged in with Facebook
".read": "auth !== null && (auth.provider === 'facebook' || auth.provider === 'google')"
}
}
私はすべての仕事が大丈夫私のルールを削除します。
私のコードは次のとおりです。
private createNewUser(user: any): any {
const newUser = this.af.database.object('users/' + user.uid);
newUser.set({
username: user.name,
email: user.email,
profile_picture: user.avatar,
provider : user.provider,
create_date: new Date().toISOString().slice(0, 10).replace(/-/g, "")})
}
は何fileds私がチェックする必要がありますか?
'createNewUser()'の 'console.log(user)'は 'uid'プロパティを持つオブジェクトを表示しますか? –
はい私はこのユーザーIDを持っていますが、@FrankvanPuffelenは ".write"を使うのにこのokです: "!data.exists()|| auth.uid === $ uid"、私はユーザーを作成したいですか? –