Rails
devise
Rails5
omniauth-google-oauth2

Google OAuth 2.0 は危険なのか

OAuth 2.0 は危険!?

oauth セキュリティってググるとまぁひどく書かれてて、認可用だから認証には使うなよっていろんな人が言ってた。
あれ? じゃあ我らが偉大なる devise と omniauth-google-oauth2 の黄金コンビって実はクソだったの? と私は途方にくれてしまった。

じゃあどうすればいいんだよ

認証には OpenID Connect 使えと言われた。
しかし rails openid devise openid ってググっても見つかるのはメンテナンスされてなさそうな gem ばかり。
そんな🍌!
と思って検索しても情報が全くない。
だいたいそもそも omniauth-google-oauth2 の readme にはしっかりと認証って書かれてるわけで、まさか嘘ついてるの?
っと思ったその時。あるサイトを見つけた。

答え

https://developers.google.com/identity/protocols/OpenIDConnect

URL から分かる通り公式。

スクリーンショット 2017-12-19 23.41.06.png

あれ? 落ち着いて翻訳してみる。

スクリーンショット 2017-12-19 23.41.25.png

……

スクリーンショット 2017-12-19 23.41.32.png

あっはい。
すみませんでした今度から公式ドキュメントちゃんと見ます。

結論

Google OAuth 2.0 は認証に使える!
多分な。
※ google 以外は知らない。