なんとなく「OAuth入れたらセキュリティ完璧!」って思いがちだけど、実はそう単純じゃないみたい…💭
最近ちょっと話題になったRedditの投稿を読んでて、「あ、これって結構みんな悩むところだなー」って思ったんだよね😳
OAuthってそもそも何?
ざっくり言うと、OAuthは他のサービスのアカウントでログインできる仕組みのこと✨
たとえばGoogleやTwitterアカウントでログインするときに使われるよね💡
これでユーザーは新しいパスワードを作らなくて済むし、サービス側も認証を外部に任せられるってわけ。便利っぽい!
でも、ここで気をつけなきゃいけないのは、OAuthを「ただ実装しただけ」では不十分なことがあるってことなんだ🥺
OAuthを入れたからって安全ってわけじゃない理由
Redditの投稿主さんも、OAuth実装はしたけど「これでOK?」って不安になってたんだよね👀
そこからわかるのは…
-
トークンの管理が超重要!
OAuthは認証情報(トークン)を発行するんだけど、これをちゃんと守らないと第三者に使われちゃう危険がある⚠️
例えばブラウザのローカルストレージに無防備に保存してたらアウトだったり。 -
リダイレクトURIの設定ミスに注意!
OAuthは認証後にどこに戻すか決めるリダイレクトURIってのがあるんだけど、ここを間違えると攻撃を受けることも…😱
ちゃんと正しいURLだけ許可しないとダメなんだよね。 -
権限(スコープ)指定も気をつけて!
必要以上に権限を要求しちゃうと、もしトークンが漏れたときに被害が大きくなる💥
最小限の権限だけもらうのが基本だよね。
じゃあ、どうすればいいの?
ここで焦らないで!わたしも最初は「OAuthよくわかんない!」ってなったから✨
少しずつポイントを押さえればだいじょうぶだよ👍
- トークンは安全な場所に置くこと。 WebならHttpOnlyのクッキーとかね。
- リダイレクトURIはホワイトリストで管理。 正しいURLだけ受け付ける。
- 権限は必要最低限に。 これは自分のサービスの設計にも関わるね。
- OAuthの仕組みをよく理解する。 使い回すだけじゃなくて、どう動いてるか知っておくと安心感が違うよ💡
あとは、公式ドキュメントをしっかり読むのが一番!
Redditの投稿見てると、「これで終わりじゃなくて、もっと気を配らなきゃ」って思ったんだ🌸
OAuthは「便利な認証ツール」だけど、そこから先のセキュリティ対策が本当に大切ってこと、意外と見落としがちなんだよね💭
ちょっと立ち止まって、もう一度自分の実装を見直してみるのもアリだと思うなぁ🍓
コメント
ハンナ
メールでログインできないんだけど?
ノーラン
またPornHub認証なしの認証ネタかよ…
レオ
クレカでログインとか笑えるw
エイダン
PDFでログインが一番好き、なんでか笑ったわ。
チャーリー
こういう質の高いネタ投稿、最高!
ジョージ
ここってr/webdevcirclejerkじゃない?
ベン
ついにビーフカルデレータ対応きた!
クリス
投稿者、フィリピン人っぽいな「eyauth」って言葉から。 あ、ジョリビーとかビーフカルデレータの画像見て納得w
ジャック
スクリーンショットでログイン?
エマ
VSCodeでログインできるの!?
ベン
「慎重にログイン」ってのに爆笑した🤣
ロバート
いや、俺はスクリーンショットでログインしたいんだけど。
ハンナ
それはいいけど、Clash of Clansアカウントでログインできないんだよね。
サラ
計算機アプリでサインアップして計算結果シェアしたかっただけなのに。