0

新しいユーザーを作成する前に、Firebaseをチェックして、そのユーザー名が既にデータベースに存在するかどうか確認したいと思います。ユーザーがユーザー名のテキストフィールドの編集を完了した直後にこの作業を行いたいと思います(残りのフォームは完全ではありません)。私はFirebase DBにアクセスしようとしましたが、「Listener at/Users failed:permission_denied」という警告が表示されます。私が理解していることから、Firebase DBとの間で読み書きを行うには、ユーザを認証する必要があります。また、サインアップする前にサインアップしたユーザは認証されていません。 createUserWithEmail:password:completion:メソッドを実行する前にデータベースにアクセスする方法はありますか?新しいユーザを作成する前にFirebaseのデータにアクセスすることは可能ですか? (Swift)

+0

大きな問題。 *ユーザー名*と同じFirebaseアカウントを作成する際に使用される電子メールアドレスですか?はいの場合、ユーザを作成しようとするとそのユーザ名がすでに存在するかどうかがFirebaseによって自動的に通知されます。いいえ、なぜでしょうか? – Jay

+0

フォーム全体を完成させて送信してから、新しいユーザー名/電子メールを選択するように指示するのではなく、ユーザー名/電子メールのテキストフィールドの編集が完了した直後に、ユーザー名と電子メールの一意性を確認することをお勧めしますそれは重複している)。しかし、わかりやすくするために、私はこのルートを使うだけでもよいでしょう。ありがとう@ジェイ – lynchspin

答えて

3

明確にするには、私が行うことを前に言いましょうNOTは、あなたのユースケースでこれを行うことをお勧めします。しかし、一般的に、あなたは認証されていないユーザーがtrueにそのパスのためのセキュリティルールを設定することにより、データベースの部分にアクセスできるようにすることができます:

{ 
    "rules": { 
     ".read": true, 
     ".write": true 
    } 
} 

あなたはしたくないので、あなたがはこのような何かをしたいとは思わないでしょう全員のユーザー名に一般にアクセスできるようにします。

代わりに、FireFoxのクラウド機能を使用することをおすすめします。ユーザーがユーザー名を選択したときにトリガーされるクラウド機能を作成することができます。データベースに一時パスを作成し、データベース・トリガーを使用します。クラウドファンクションやNode.jsに慣れていない人にとっては、多くの新しい情報がありますが、ファンクションには多くのユースケースがあることがわかります。学習する価値があります。ここで

は、チェックアウトするいくつかのリソースです:

Get Started

Cloud Functions Database Triggers

Cloud Functions Documentation

+0

徹底的な応答、@ JenPersonありがとう!私はその質問に「安全」を含めるつもりだったので、私はあなたの2番目の提案に行くつもりです。 – lynchspin

関連する問題