現在、webアプリを作成していますが、少し詰まってしまったので質問させていただきます。
環境
- Node Express
- Javascript
- pug
現在の状態・分かっている事
今webアプリを作成していてFirebaseとGoogleを使って作成中のwebアプリにログインし、各ユーザー毎のデータを提供したいと考え、ログインボタンを作成し、ログインボタンをクリックした時に
javascript
1firebase.auth().signInWithRedirect(provider);
が実行されるようにクライアント側のJavaScriptに記述しました。
実際にこのボタンを押してGoogleアカウントでログインしたところ、しっかりFirebaseのコンソールには追加されました。
次にログインされた事を検知し、FirebaseのUID
という物を使ってユーザーを識別し、そのユーザーのデータにアクセスできるようにしたいと考えましたが、クライアント側で
javascirpt
1firebase.auth().onuthStateChanged(function(user)){};
と言う方法の記事は見つけられましたが、この関数を使用してそのままUID
を取得するなどし、UID
をサーバーに送信し、ユーザーのデータにアクセスできるようにした場合、クライアント側で実行されているJavaScriptなので適当なUID
をサーバーに送信するように細工し、それを繰り返すことで別のユーザーのデータがこのユーザーに渡ってしまう事はありませんか?
それを防ぐためにサーバー側でユーザーの認証を検知し、セッション情報などにUID
を保存し、それを使用してユーザーのデータにアクセス出来るといった事は出来ないのでしょうか?
知りたいこと
- 適当な
UID
をサーバーに送信するように細工 する事が可能なのか - Firebaseで認証されたユーザーの
UID
をwebアプリサーバー(Node Express)側で取得する事は可能なのか - webアプリサーバーで取得した
UID
とユーザーのセッションを関連付ける事はできるのか - 他にもっと良い方法は無いのか
あなたの回答
tips
プレビュー