はじめに
ここ数ヶ月、OAuth / OIDC の勉強をしていました。
はじめはどこからどう手を付ければいいのかわからず、OAuth と名のつく本や資料をとりあえず色々読んでいました。
勉強していくなかで、効率の良い学習方法が少しずつわかってきたので、まとめます。
学習する順番のまとめ
- OAuth & OIDC 入門編 by #authlete - YouTubeを見る
- OAuth / JWT /OIDC の全体感を掴みます
- ここではすべてを理解するのではなく、何がわからないのかをわかることが目的です
- 雰囲気で使わずきちんと理解する!整理して OAuth2.0 を使うためのチュートリアルガイドを読む
- OAuth とはどういうものかということを理解します
- OAuth、OAuth 認証、OpenID Connect の違いを整理して理解できる本を読む
- OIDC とはどういうものか、OAuth とはどう違うかということを理解します
- OAuth・OIDC への攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編)を読む
- OAuth/OIDC のセキュリティに対して理解します
- OAuth 徹底入門 セキュアな認可システムを適用するための原則と実践 とAuthlete 川崎さんの Qiita 記事を読む
- これまでの学習では足りていない内容の学習として利用します
- すべて読みきるというよりはリファレンスとして使用します
- RFC を読み込む
- ここまで学習しても疑問に残る部分については RFC を読んで確認します
- 今後の学習でもまずは RFC を確認するようにします
メモ
ありものの認可サービスを実際に動かして学習するパターンは多いですが、認可サーバーを作って覚えようみたいなパターンは少なかったです。
読んだ中では、OAuth 徹底入門が唯一このパターンでした。
ただ、OAuth 徹底入門で扱われている Node.js のバージョンが古かったり、コードが読みにくかったりと色々難ありでとっつきにくいです。