Web系エンジニアのアウトプット練習場

エンジニアリングのことはもちろん、全然関係無い話もします。

「OAuth, OAuth認証, OpenID Connectの違いを整理して理解できる本」がとてもわかりやすかった件

とっても久しぶりの投稿になってしまったけど、生きてます。

さて、9/22に開催された技術書典7ですが、私は急用で行くことができませんでした。
いくつか物理本で欲しい本があったのですが、今回は諦めてBOOTH等で電子書籍版を買うことにしました。

今回、注目していたのが「Auth屋」さんのこの本。

booth.pm

技術書典6で販売されていた「雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して理解できる本」の続編にあたる書籍です。

「雰囲気で〜」では認可の仕組みであるOAuthについて中心に書かれており、OAuthを拡張して認証までを含めた仕組みであるOpenID Connectについては付録に少し書いてある程度でした。

しかし、今回の書籍ではOAuthの説明はほどほどにされている代わりに、OpenID Connectや、OAuth認証と呼ばれるOAuth+プロフィールAPIを使った認証の仕組み、を図解を交えて丁寧に説明してくださっています。

おかげで「OAuth, OAuth認証, OpenID Connectの違い」について、以下のような理解を得ることができました。

  • OAuth認証: OAuthでプロフィール情報の取得権限を得て、そのプロフィールをもって認証できる
  • OpenID Connect: OAuthの仕様に「IDトークン」とその取り扱いを追加し、IDトークンで認証できる

さらに、この書籍では「違い」だけではなくて、各認証・認可のフローも事細かく説明されており、発生しやすい脆弱性とその対応策についても論じられております。

かなり実践的な内容で、Webサービスで必要不可欠な認証・認可のプロセスについて、勘所を的確に抑えた良書だと感じましたので、皆さんもお手にとってみてはいかがでしょうか。