質問するログイン新規登録

回答編集履歴

1

使い方含めて再調査

2019/01/24 07:40

投稿

退会済みユーザー
answer CHANGED
@@ -1,15 +1,12 @@
1
- uidってなんじゃ?と思って調べてみました。
1
+ uidってなんじゃ?と思って調べてみました。【二度目】
2
- [https://firebase.google.com/docs/auth/admin/verify-id-tokens?hl=ja](https://firebase.google.com/docs/auth/admin/verify-id-tokens?hl=ja)
2
+ [https://firebase.google.com/docs/auth/admin/manage-users?hl=ja#create_a_user](https://firebase.google.com/docs/auth/admin/manage-users?hl=ja#create_a_user)
3
3
 
4
- 「ID トークン」ってバッチリ書いてありますね。
4
+ Firebase Authentication によって生成されます。
5
- トークンというとあれですよ、映画館なんかで映画を観るために金を払うと一時的に発行された入場チケットみたいなものです。
5
+ つまり、Webサービス毎にFirebaseのアカウントを切ればその度に一意なuidが作られるんですね。
6
6
 
7
- まぁ、トークンと言いつつ一生有効な例とかもあるので、念の為ページを読みすすめていきます。
7
+ つまり、悪意のユーザーがAさんのuidを盗みだして、他のFirebaseサービスに持っていっても
8
- 有効期限だとか発行日時とか出てきました。
9
- やはり一時的に使える入場チケットという理解の方が正しいと思われます。
8
+ 他のFirebaseサービスは「そんなユーザー知らねえよ」と返してくるんですよね。
10
- (ざっくりと斜め読みしただけなのでこの理解が正しいかはわかりませんが)
9
+ であれば、連番のユーザIDを使うより「よっぽど安全」ですし、むしろ積極的に使い倒したほうが良いでしょう。
11
10
 
12
- 質問以前にuidは削除されたりまた作られる可能性がある以上、
11
+ 自分にしか見せては行けないデータは、
13
- これに依存するシステムを構築するという思想自体に無理があります。
14
- ユーザーとDB内の整合性が取れなくなって、保存したデータが取り出せない。
15
- つまりいつの間にかなくなっていたみたいなトラブルの原因になると思われます。
12
+ ログインしている現在ユーザと対象のuidを突合させて、一致するときだけ扱えるようにしておけば十分だと思います。