2016-05-26 13 views
7

私はコンソール(firebaseのウェブページ)からプロジェクトのユーザーアカウントを正常に無効にできますが、アプリケーションのユーザーは、自分のユーザーアカウントをコードで無効にすることができます。また、私はfirebaseの新しい文書で助けを見つけることはありません。コードからFirebaseプロジェクトのユーザアカウントを無効にするにはどうしたらいいですか?

答えて

3

レスポンス[email protected]

お問い合わせいただきありがとうございます。申し訳ありませんが、あなたに戻るにはとても時間がかかりました。 現在、ユーザーのアカウントを無効にする明示的なAPIはありません。既存の回避策は、アカウントを無効/有効にできるユーザーに対して「無効」フラグを実装することです。このフラグはFirebaseデータベースに保存され、維持されることに注意してください。これをセキュリティルールと組み合わせて使用​​すると、アカウントを無効にすると、管理者のメタデータだけをユーザーアカウントに書き込むことができます。

+0

新しいユーザーにサインアップし、最初にサインアップを「無効」にしてから、ユーザーが「アクティブ」のリンクをクリックした後でユーザーのメールを確認するためにメールを送信することは可能ですか? –

+0

@FamicTech 、あなたはこの目的のために電子メール確認フラグを使用することができますemailVerifiedはあなたが探している必要があるフラグです。 – teenu

4

これは質問に答えるために少し古いです。しかし、同じ答えを探している人にとっては、私の答えからアイデアを得るだろう。モバイルプラットフォームでは使用できません - - 管理SDK

Firebase管理(Node.jsの)を使用して

Admin SDKを使用してユーザーを削除/無効化を行う能力を持っています。ユーザーを無効にするには、無効属性をTRUEに設定します。

注:アプリケーションが ブラウザベースのアプリケーションの場合、Admin SDKを使用することはできません。

他のオプションは、ユーザーのアクセスを制限することで、リアルタイムデータベースルールを使用して

enter image description here

リアルタイムデータベース内のユーザーテーブルを設定することにより、データベースに(読み取り/書き込み)。あなたは、例えば、そのテーブル内のフラグフィールド(アクティブ)を追加することができる:

{ 
    "users" : { 
    "3sFGw6zlr8VylNuvmCWd9xG1CQ43" : { 
     "active" : true, 
     "address" : "#123, City", 
     "createdBy" : "2016-12-20", 
     "mobile" : "xxxxxxx" 
    }, 
    "posts" : { 
    } 
} 

上記の例では - 「3sFGw6zlr8VylNuvmCWd9xG1CQ43」はfirebase認証によって生成されたUIDです。これは、このカスタムに参加する鍵ですユーザー firebaseユーザープロフィールを持つテーブル。アクティブなフィールドは、通常のデータベース書き込み操作でtrueまたはfalseと簡単に設定できます。

このフラグフィールドは、このアカウントがデータベースレコードにアクセスできるかどうかを確認するために使用されます。例えば以下を参照してください:ユーザーがログインして真のアクティブフラグフィールドを持っている場合

{ 
    "rules": { 
    ".read": "auth !== null && root.child('users/' + auth.uid).child('active').val()==true", 
    ".write": "auth !== null && root.child('users/' + auth.uid).child('active').val()==true", 
    } 
} 

このルールがチェックされます。そうしないと、ユーザーはデータベースを読み書きできなくなります。ユーザーログインページでは、ログインしたユーザーのこのフラグフィールドをチェックし、アクティブフィールドがfalseの場合はユーザーをログアウトして、ユーザーがシステムにログインできないようにすることもできます。

編集:クラウド機能(Admin SDK)を使用することができます。時には雲機能について読むために余分にしてみてくださいhere。Firebase Cloudの機能は、リアルタイムデータベースにとって非常に便利なツールです。

関連する問題