見出し画像

OAuth2.0・OpenID Connectに関する本を7冊読んだ

ソフトウェアエンジニアのkaseda (https://x.com/kentkaseda) です。
本業では主にネイティブアプリ周りの開発をしているのですが、最近はバックエンド・インフラ・セキュリティ周りの知識を強化していきたい気持ちになっています。

手始めに、OAuth2.0・OpenID Connect (OICD) について学ぶために、ここ3日間ほどで、本を7冊読みました。この記事では、読んだ本を簡単に紹介します。また、これから学ぶ人にとって参考になるよう、私のおすすめ本もピックアップします。

おすすめの本

Auth屋さん (https://www.authya.com) が出版されている以下の2冊を読めば、一般的なソフトウェアエンジニアにとっては十分な知識・理解が得られるのではと思いました。

もし上記で不十分な場合には、Manningの "OAuth2.0 in Action" の後半部分を読んだり、関連するRFCを必要に応じて参照したりすれば良さそうです。

読んだ本の簡単な紹介

1. 雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べる本

Auth屋さんのBoothで販売されている本です。なお、Amazonで販売されている『雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイド』は、内容が同一の書籍で、正確には私はこちらを読みました。
最低限知っておくべき基礎知識が、端的に解説されています。1冊目におすすめです。

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

1.と同じく、Auth屋さんのBoothで販売されている本です。
OAuth2.0の基礎を理解している読者に向けて、OICDの基礎知識が端的に解説されています。1.の次に読むのにおすすめです。

3. OAuth・OIDCへの攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編

1., 2.と同じく、Auth屋さんのBoothで販売されている本です。
state、nonce、PKCE等々、OAuth2.0・OICDのフローにおいて、セキュリティ上必要となる手順・パラメータに対する理解を深めることができます。脆弱性を埋め込むリスクを下げるために、本書の内容を理解する重要性は高いでしょう。

4. OpenID Connect入門: 概念からセキュリティまで体系的に押さえる

Kindleで販売されている、100ページ弱の本です。こちらも必要最低限のエッセンスが端的に解説されており、1.の次に読む本としておすすめできます。

5. Getting Started with OAuth2.0

OAuth2.0の黎明期である2012年に書かれた本で、著者は (当時) GoogleのDeveloper Advocateです。80ページ弱、かつ英文も平易で読みやすいです。
OAuth2.0が登場した経緯や、当時の空気感を知るのには良い本です。ただ、内容は古くなっている部分もある (例えば現在はインプリシットグラント方式は非推奨であるなど) ため、単に仕様を理解する上では読まなくて良い本だと思います。

6. OAuth2.0 in Action

Manningから出版されている、そこそこボリュームのある (360ページ) 本です。『OAuth徹底入門』という題で和訳もされています。

ざっと流し読んで何が書かれているのかを把握した程度で、精読してはいません。クライアント・認証サーバー・リソースサーバーを、Node.jsを使ってハンズオンで作っていくという構成になっています。詳しく知りたい人は読むと良いという位置付けだと思います。

7. 実践 Keycloak ―OpenID Connect、OAuth 2.0を利用したモダンアプリケーションのセキュリティー保護

OAuth2.0・OICDというより、Keycloakの本です。今や、OAuth2.0・OICDを実装する際には、Keycloakのようなオープンソースのソフトウェアや、Okta・Auth0のようなIDaaSを使うことが一般に推奨されるのではと思います。必要に応じて、これらの個別のツールについて学ぶ必要性は生じるでしょう。

*本記事のカバー画像はDALL-Eを使用して生成しました。


いいなと思ったら応援しよう!