ライブラリの設定どおりにやって、OpenID Connectでのログインは動いている。でも、うまく動かなくなったときに、どこを見ればいいのかが分からない。しくみを知らないまま使い続けると、調査に時間がかかるうえ、気づかないうちにセキュリティの穴を作り込むことにもなる。『OpenID Connect入門――アプリケーション開発者のための実践技術解説』は、OpenID Connectを基礎から順に理解するための本だ。
登場の背景から、各種フローを丁寧に追う
本書は、OpenID Connectが登場した背景から始まって、各種フローを順に説明していく。用語がたくさん出てきて互いに絡み合う分野なので、背景から入って関係を整理してくれる構成が、頭の中を片づけるのに向いている。
代表的な脆弱性と、サンプルアプリでの実装まで
認証まわりで代表的なセキュリティの脆弱性と、その対応方法も取り上げられている。さらにサンプルアプリケーションを通して、実装のイメージをつかめる。仕様書は機械的で学びにくいと感じていた人にも、手がかりになる作りだ。
読んでおきたい理由
- 背景から各フローへ進む流れを読むと、いま使っているライブラリが裏でやっていることを、図に描いて説明できる
- 用語どうしの関係が整理されるので、ログインが失敗したときに、どこから調べるかの見当がつく
- 代表的な脆弱性の章が、認証まわりの設計レビューで確認する項目の下書きになる
- サンプルアプリの実装を見ると、自分のアプリの設定が、どこまで理解したうえで組まれているかを点検できる
- 仕様書に直接当たる前の、予習の1冊として使える
まとめ
認証は、動いているうちは意識しにくく、壊れたり狙われたりしてから、理解の浅さが表に出る。まずは自分のアプリで使っているログインのフローを1つ選び、本書でそのフローを読んで、各ステップで誰が何を送っているかを紙に書き出してみてほしい。