msksgm’s blog

msksgm’s blog

Webエンジニアです。日々の勉強記録、技術書感想、美術観賞感想を投稿します。

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

概要

「OAuth、OAuth 認証、OpenID Connect の違いを整理して理解できる本」を読みました。 感想を記述します。

authya.booth.pm

感想

Auth 屋(@authyasan)さんが執筆している、OAuth、OIDC 関連の書籍の 2 冊目です。 1 冊目の「雰囲気で OAuth2.0 を使っているエンジニアが OAuth2.0 を整理して、手を動かしながら学べる本」は OAuth2.0 のみで、OIDC については触れられていませんでした。 今回は OIDC がメインの書籍です。 割と OAuth2.0 の理解が前提となっています。 最初に軽い OAuth2.0 の復習がありますが、この書籍で適切に理解するよりは前著を読んだ方が良いです。

混合しがちな、OAuth と OpenID Connect の言葉の違いを整理しながら、読み進めることができます。 この 2 つに登場する単語はコンテキストが違うのに同じ用語(ex、リソースオーナー/エンドユーザー、クライアント/リライング・パーティ、etc...)として扱われがちです。 そこで、この書籍は単語を整理したり、「OICD=OAuth+ID トークン+UserInfo エンドポイント」と明確な定義を提示してくれたりしてくれたおかげで、理解がすすみました。 同様に、OAuth2.0 のグラントと OIDC のフローで何が変更されたのかも具体的にフローチャートで何が違うのか教えてくれるのでわかりやすかったです。 他に、自分は「OAuth 認証」という言葉を知りませんでした。 しかし、どのような問題があって、OIDC の仕様につながったのかを知ることができ、とても良い学びになりました。

チュートリアルも、「雰囲気で OAuth2.0 を使っているエンジニアが OAuth2.0 を整理して、手を動かしながら学べる本」と同様に環境構築しやすく再現しやすかったのがよかったです。すでに、環境構築を終えた人はすぐに取り組むことができます。p.102 の認可リクエストに?client_id=&client_id=...client_idを 2 度入力していて動かないところもありましたが、読んでいてすぐに気が付く内容なので問題ありませんでした。
OAuth、OIDC はフローが似たり寄ったりしているので、違いを覚えにくいです。 なので、この書籍で繰り返し思い出すことで、知識の定着を図ろうと思います。

まとめ