2016-05-26 25 views
1

Firebaseを使ってAndroid用のオンラインパスワードセーバーアプリを作りたいと思います。 Firebaseのドキュメントでは、認証とCRUDの方法について教えていますが、ユーザがアクセス可能なプライベートデータを作成できるようにすることはできません。これどうやってするの?またはこの情報をどこで見つけることができますか?Android用Firebaseでプライベートデータを作成する方法を教えてください。

答えて

4

Firebaseデータベースには、柔軟なルールベースのセキュリティモデルがあります。詳細はdocumentationを参照してください。

Firebase認証と組み合わせると、user based authenticationを実行できます。

そのドキュメントから最も単純な例:

{ 
    "rules": { 
    "users": { 
     "$uid": { 
     // grants write access to the owner of this user account 
     // whose uid must exactly match the key ($uid) 
     ".write": "$uid === auth.uid" 
     } 
    } 
    } 
} 

しかし、私は完全な詳細についてはそのドキュメントを読んお勧めします。

+0

また2016年には「firebaseセキュリティへの鍵」https://youtu.be/PUBnlbjZFAI題してグーグルIOに提示し、この偉大なビデオセッションを参照してください – devprashant

0

ユーザーを認証した後、一意のユーザーIDで始まるプライベートパスを作成して、ユーザーがプライベートデータを格納できるようにルールを使用できます。 は、あなたはあなたはそれが存在しない場合でも、パスを作成し、フォルダを読み書きするための唯一の権利ユーザーできるようにする必要があり、次のJSON構造

{ 
    "users" : { 
    "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" : { 
     //private data of user with unique id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" 
    }, 
    "ffffffff-gggg-hhhh-iiii-kkkkkkkkkkkk" : { 
     //private data of user with unique id "ffffffff-gggg-hhhh-iiii-kkkkkkkkkkkk" 
    } 
    } 
} 

があるとします。 ルールは以下の通りになります

{ 
    "rules": { 
    "users":{ 
     ".write": "newData.hasChild(auth.uid)", //you can write only if you put your data inside a path starting with your id 
     "$uid":{ 
     ".read":"$uid == auth.uid" //only the right user can read the data 
     } 
    } 
    } 
} 
関連する問題