2016-12-02 6 views
0

私のiOSアプリケーションでは、ユーザーはTwitterユーザー名と同様の特性を持つユーザー名を作成します。ユニークであると識別されると、updateChildValuesを使用して以下のシグネチャでデータベースに保持されます(例:usernameはJogBloggsです)。私のFBのデータベースの私のセキュリティルールでFirebaseデータベースセキュリティルールを適切に構築できません

 ["usernames/": ["joebloggs: \(user.uid)"]] 

私がアップロードされているuidは、現在のユーザーのUIDと同じであることを保証するルールを作成します。これを保証するためにどのようにセキュリティルールを入力できますか?下の私の試みはうまくいかない。

 "root.child('usernames').child(newData.val()).val() == auth.uid" 

私は私のデータベースに関連付けられたこれらのルールでは

enter image description here

次のような構造を持っている:私はその後、できれば

Firebase Security structure

乾杯

答えて

1

[OK]を〜するこの質問を削除してください! 回答は.....

"usernames": { 
    ".read": "auth != null", 
    ".write": "auth != null && auth.token.name == null", 
      "$username": { 
       ".validate": "$username.length >= 1 && $username.length <= 15 && 
          !root.child('usernames').child(newData.val().toLowerCase()).exists() && 
            newData.val() == auth.uid" 
     } 
    } 
+1

以下正解グレートあなたは答えを見つけたことを聞くと

newData.val() == auth.uid 

完全な構造は非常に複雑で困難です。今後の投稿では、テキストのスクリーンショットを投稿するのではなく、テキスト自体を投稿してください。そのため、検索可能になり、コード/ JSONを簡単に試して問題を再現したり、回答に使用することができます。 –

+1

確かに、再び起こらず、それを変更します。ところで、Udacityの素晴らしいビデオシリーズ! :) – Edward

関連する問題