【Firebase】認証されているユーザーのみ、Firebaseを使えるようにする
Firebase

【Firebase】認証されているユーザーのみ、Firebaseを使えるようにする

作成日:2022年02月14日
更新日:2022年02月15日

前回は、Authentication でログアウトしました。

firebase-authentication-logout

【Firebase】Authenticationでログアウトする

今回は、Firestore Databese にルールを編集し、認証されてるユーザーのみ、Firebase を使えるようにします。

まずは、Firebase の Firestore Database に認証されているユーザーにみ、アクセスできるよう、ルールを設定します。

Firestore Database の『ルール』タグをクリックします。

image2

先日、ルールを編集した際、allow read, write: if trueallow read, write: if falseに変更しました。

今回は、ユーザーが認証されている場合、true にします。

ユーザーの認証を確認するには、requestauthを調べます。

また、update と delete も設定しましょう。

jsx
allow read, write, update, delete: if request.auth != null;

認証されている場合とされていない場合の違いを、一度試してみましょう。

左下の『ルール プレイグラウンド』をクリックします。

image3

場所に、コレクション名とドキュメント ID を入力します。

image4

『実行』をクリックすると、

image5

読み取りが拒否された様です。

次に、『認証済み』をクリックして、認証済みの状態にします。

image6

再度『実行』をクリックすると、

image7

読み取りが許可されました。

では、『公開』をクリックし、保存します。

image8

次に、Web アプリケーションで確認します。

BooksGet の画面を確認すると、

image9

データがありません、と表示されます。

では、ログインしてみます。

再度 BooksGet の画面を確認すると、

image10

認証済みになったので、データを取得することができました。

また、データを送信してみましょう。

認証されていない場合、データを入力し、『送信』ボタンをクリックします。

Console を確認すると、

image11

Firebase を接続できなかったようです。

image12

ドキュメントも追加されていません。

では、認証済みの状態で、再度送信してみます。

Firebase Database を確認すると、

image13

送信したデータ内容が保存されていました。

次回は、Authentication で、パスワードの再設定ができるようにします。

firebase-authentication-sendpasswordresetemail

【Firebase】Authenticationで、パスワードリセットを実装する

© 2024あずきぱんウェブスタジオ