2017-12-25 21 views
0

Firebaseは、ユーザの電話機を使用した認証方法を提供するようになりました。ユーザがウェブページを開き、ページがSMS検証プロセスを開始する。 Firebaseは、ユーザの電話番号(識別子)とランダムに生成されたユーザUIDを格納します。これは、ユーザーの電話番号を検証したいが、知られている電話番号のホワイトリストへのアクセスを制限するためにはそれほど優れていない場合に便利です。 Firebase phone authと非常に便利なfirebaseui-web libraryを使用すると、SMSメッセージで電話番号(ANY電話番号)の有効性が確認されたときに承認を受けます。電話番号でWebアプリケーションでFirebaseを使用するログインしてサイトへのアクセスを制限しますか?

ブラウザのクライアントで電話番号(SMS検証後)が別のサーバーへのAPI呼び出しによって許可されたホワイトリストにあるかどうかを確認することができました。有効なチームメンバであれば、チームディレクトリのサイトにリダイレクトし、そうでなければ "ありがとうと"サイトにリダイレクトします。私は、クライアントブラウザのJavaScriptでそのクエリを実行することは間違っているようだと言うでしょう。それを欺くのは簡単すぎるでしょう。確かに良いことではありません。

Firebaseと電話によるSMS認証を使用して、許可された電話番号のホワイトリストへのWebページのアクセスを制限したいと考えています。私のユースケースは、グループ内の他の人の電話番号を示す簡単なWebページにアクセスする必要がある人のグループです。私たちはそれを世界に見せたくありませんが、携帯電話で素早く簡単にアクセスできるように、ウェブページを検索して<a href="tel:1-408-555-5555">1-408-555-5555</a>という電話番号を押してください。プログレッシブWebアプリケーションのメソッドを経由して、永続

ユーザーの電話番号のホワイトリストへのWebページを制限するFirebaseを使用して続行する方法上の任意のヒント

注:?私はそれがあり得ることをほのめかすthis responseを見てきましたクラウド機能を使用してコンテンツへのアクセスを制限することは可能ですが、それがどのように機能するかはわかりません。

(編集)私はこれを考えすぎているかもしれません。 .jsサーバーをホストとしてres.redirect('SuccessPhoneList.html')に設定して、サーバーへのAjaxコールを処理します。それは私のクライアントJavascriptのリダイレクトの問題を修正するだろう。私はその作業を行うことができますが、Firebaseが余分なAjax呼び出しなしでこれを処理することを確かにしたいと思います。

+0

は、カスタム・ユーザー・クレームとFirebaseルールの組み合わせを使用することを検討して(または独自のカスタム検証を主張IDトークン内で)これを強制する:https://firebase.google.com/docs/auth/admin /カスタムクレーム – bojeil

答えて

1

Firebase Hostingにはファイルへのアクセスを制限する方法はなく、誰がアカウントを作成できるかを制限する方法はありません。例えばFirebase Realtime Database、またはCloud Firestoreように、データベース内の電話番号のリストを格納

  1. は、典型的には、このユースケースは、によって解決されます。

  2. 電話番号がホワイトリストに登録されているユーザーにそのデータへのアクセスを制限します(Firebase's server-side security rules)。また

これらの関連の質問を参照してください。

関連する問題