【Firebase】firebase authでいまいち理解できていなかった認証周りを再確認する(1)

研究
Jeremy Bishop at Pexels
この記事は約5分で読めます。

以前かじったfirebaseで、authでのパスワード再設定周りですごく難儀したのでした。
参考リンク(Expo.ioで試してますけどfirebase hostingに配置するhtmlか何かで読み替えます)

Expo + Firebase Authでパスワード再設定・メール確認覚え書き – Qiita

プロジェクトを追加します。

適当な名前をつけます。

firebase authにてログイン方法を指定します。このメールリンクでセッション繋ぐ方法でドツボにハマったんです。

一旦深く考えずログイン画面を作ります。

hostingへGO。

危うくスルーするところでしたが、ウェブアプリを追加します。

% npm install -g firebase-tools
zsh: command not found: npm

firebase toolsのインストールを試みたら叱られました(´・ω・`)

Mac のデフォルトシェルが bash から zsh に変更された機に乗じて乗り換える手順 – Qiita

bashに切り替えて続行。言われるがままにhostingのhtmlを作成。

% firebase init

     ######## #### ########  ######## ########     ###     ######  ########
     ##        ##  ##     ## ##       ##     ##  ##   ##  ##       ##
     ######    ##  ########  ######   ########  #########  ######  ######
     ##        ##  ##    ##  ##       ##     ## ##     ##       ## ##
     ##       #### ##     ## ######## ########  ##     ##  ######  ########

You're about to initialize a Firebase project in this directory:

  /所定フォルダ

? Which Firebase CLI features do you want to set up for this folder? Press Space to select features, then Enter to confirm your choices. Hosting: Configure and deploy Firebase Hosting sit
es

=== Project Setup

First, let's associate this project directory with a Firebase project.
You can create multiple project aliases by running firebase use --add, 
but for now we'll just set up a default project.

? Please select an option: Use an existing project
? Select a default Firebase project for this directory: myapp-7bf76 (myapp)
i  Using project myapp-7bf76 (myapp)

=== Hosting Setup

Your public directory is the folder (relative to your project directory) that
will contain Hosting assets to be uploaded with firebase deploy. If you
have a build process for your assets, use your build's output directory.

? What do you want to use as your public directory? public
? Configure as a single-page app (rewrite all urls to /index.html)? No←今回は割愛
✔  Wrote public/404.html
✔  Wrote public/index.html

i  Writing configuration info to firebase.json...
i  Writing project information to .firebaserc...
i  Writing gitignore file to .gitignore...

✔  Firebase initialization complete!

なんならば、single page applicationをFirebase単体で構築することも可能。
そうだよなぁいまどき。
あとは公式の資料が丁寧なので、その辺に従います。

Manage Users in Firebase

You create a new user in your Firebase project by calling the createUserWithEmailAndPassword method or by signing in a user for the first time using a federated identity provider, such as Google Sign-In or Facebook Login. You can also create new password-authenticated users from the Authentication section of the Firebase console, on the Users page, or by using the Admin SDK.

この時間までの
・アカウント登録
・ログイン
・ログイン前のパスワード再登録メール発信
・ログアウト
ここまでの動作のみ行えるgithubがこちら。

いまのところUIはこんな感じ。追ってパタパタなどを実装。

問題はこの後。ログイン済のアカウントが自身の個人情報をアップデートする場合にアカウントの再認証が求められるのだそうです。
前回はこの概念でハマった。

To Be Continued…!

コメント

タイトルとURLをコピーしました