Open4

OAuth/OIDC関連記事への言及ログ

ritouritou

こちら「世界一わかりみの深いOAuth入門」への言及ログです。

ミスってスレッド切れちゃいました。

ritouritou

"OpenID Connect 1.0 with Spring Security" という資料への言及ログです。

ポイントとしては

  • OAuth 2.0を認証に利用するいわゆる OAuth認証 がなぜ生まれたのか、そのリスクを正しく理解し説明できるようにしよう
  • さらに、OAuth 2.0 を認証に利用するリスクに対して、OIDCが利用するIDTokenは何を実現するためのものかのか、深く理解してJWTなアクセストークンとの違いを意識しよう

という2点に尽きます。
詳細はスレッドを辿ってみてください。

ritouritou

今回はNuxt.js(SPA) + Rails(Backend)でGoogleのトークンを何かしてそうな記事への言及です。

いろいろ指摘していますが、それぞれの処理を深追いして標準化仕様との関係を確認できると、より理解が深まるでしょう。

  • Nuxt.js の認証処理では何が行われるのか
    • Googleのユーザー情報はどこから取ってくるのか : IDToken? UserInfo API w/ Access Token?
    • Cookieに何がセットされるのか : おそらくIDTokenっぽい
    • Google からもらった AccessToken は使ってないのか?
  • Railsとのやりとり
    • Cookieの値の利用方法 : セッショントークン相当の扱いでRails(BackEnd)に送る方法が書いてあるが果たしてそれは良い方法なのか?
      • 例えば Nuxt.jsの認証!って言ってるところで Rails に IDToken を送信、Rails側で独自のセッションを発行してNuxt.js をログイン状態にするみたいなユースケースであれば使えそう

今までも今後も何度も同じことを言ったり書いたりする予定ですが、この辺りを整理するためには、まず要件の振り返りから始めると良いです。

  • Nuxt.js の認証(ログイン認証とか言ってるところ)の要件
    • GoogleのOAuth/OIDCでの実現方法
  • Railsとの連携(トークン認証とか言ってるところ)の要件
    • Nuxt.js 側のログイン状態、ログインユーザーを知りたいだけ?
      • GoogleのIDTokenをやりとりするだけではすぐExpire?
    • Rails側でGoogleのAPIを叩きたいとか思ったらどうする?

この辺、記事の内容に自信がなかったり、本を読んでガッツリ勉強したいと思ったら気軽に相談ください。