回答編集履歴
1
書式の改善
answer
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
-
>APIトークンの素となる値がユーザーと同じテーブルに存在してていいのか
|
1
|
+
> APIトークンの素となる値がユーザーと同じテーブルに存在してていいのか
|
2
|
+
|
2
3
|
トークンで何ができるかによるかも
|
3
4
|
トークンでユーザテーブルがみられるだけならトークンを分けても片方がもれればどちらももれるので分ける意味はないかと
|
4
5
|
|
5
6
|
このトークンで他のもっとみられたくないテーブルアクセスもできるのであれば
|
6
7
|
分けることでユーザテーブルの情報はもれたけどもっと重要な情報は守られるということはあるかも
|
7
8
|
|
8
|
-
>これらを奪取されるのはまた別の次元の問題
|
9
|
+
> これらを奪取されるのはまた別の次元の問題
|
10
|
+
|
9
11
|
よくあるのはユーザ入力をクエリの中にいれてしまう
|
10
12
|
いわゆるSQLインジェクションでクエリの脆弱性をつかれたときにトークンが流出してしまう
|
11
13
|
|
@@ -15,10 +17,12 @@
|
|
15
17
|
|
16
18
|
それから一部サービス開発を第3社に提供する場合にユーザ情報はみてもいいけどトークンは見られたくないみたいな場合があるかどうか
|
17
19
|
あるいはバイトや新人にテーブル操作はしてもいいけど認証情報はさわらせたくないとか
|
20
|
+
|
18
21
|
分けておいたほうがそういう細かい権限の設定やバグを回避できる場合もあるかも
|
19
22
|
|
20
23
|
|
21
|
-
>わざわざ暗号化が必要なのか
|
24
|
+
> わざわざ暗号化が必要なのか
|
25
|
+
|
22
26
|
暗号化というよりは環境を識別する必要があるかどうかではないですか
|
23
27
|
たとえばステージングとプロダクションがあってステージングで作ったトークンで本番環境でアクセスできてしまうのがいいかどうか
|
24
28
|
あるいは別サービスが同じデータベースを見ているとか
|