OAuth、OAuth認証、OpenID Connectの違いを整理して理解できる本

【電子版】OAuth、OAuth認証、OpenID Connectの違いを整理して理解できる本 - Auth屋 - BOOTH

前回 読んだ Auth屋 - BOOTH の2冊目です。今回はOIDC(OpenID Connect)についての解説です。1冊目と同じく100ページぐらいで図も多く、サクッと読めます。OAuth、OAuth認証OpenID Connectの違いについて理解したい人におすすめの本だと思います。

本書の構成としては目次のとおりです。まず2章で簡単にOAuthの復習をします。次に3章でOAuth 認証とその問題点について説明します。第4章でOIDCについて説明し、第5章でGoogleのIDプロバイダーを利用したハンズオンを実施します。前著と同じくcurlコマンドを利用してGoogleのPhotos Library APIを例にIDトークンの取得とアクセストークンの取得までを実施します。

それぞれの定義や処理シーケンスだけでなく、なぜそのような仕様になっているかの解説なども載っていてい非常に分かりやすいです。また第5章のチュートリアル1冊目チュートリアルとまとめて実施するとOIDCがOAuthを拡張して作られたことがよく分かると思います。OAuth2 認可コードグラントとOIDC 認可コードフローの差分は以下でした。Google Photo APIの「OAuth クラインアン ト ID」の発行手順、認可レスポンス、トークンエンドポイントのリクエストパラメーターは差分がありませんでした。

  • 認可エンドポイントにアクセスする際の差分は scope=openid profile に変わり、nonce パラメーターが増える2点のみ
  • トークンレスポンスの差分はIDトークンが追加される1点のみ

なお、チュートリアルを試す際は「OAuth 同意画面」の「公開ステータス」は テスト だと思います。その場合は「OAuth 同意画面」の「テストユーザー」にテスト時に利用するGmailアドレスを追加する必要がありました。

チュートリアルもやったことで、OAuthとOIDCの基本については理解できたと思います。とはいえすぐに忘れる気がするので、その際は本書を読んで思い出すつもりです。