書籍「クラウド時代の認証基盤 Azure Active Directory 完全解説」を読んだ
歴史的にアプリケーション毎に実装してきた認証機能を、Azure ADなどの共通の認証基盤に移譲するために必要なプロトコルや実装の紹介でした。現在認証基盤で広く利用されているOpenID Connectがどういう経緯で誕生したのか、またOpenID Connect以前の認証方式の歴史が学べるたのは良かった。1章と2章はAzure ADではなく一般的なプロトコルの話だが冗長な記述が多いので、本書を片手にRFCやOpenID Connectの公式ドキュメントを読むと良い。3章と4章はAzure ADとライブラリに関する内容であったが、翻訳書にありがちな冗長な記述になっているので、シンプルに整理して理解するためには4章のIdP(アイデンティティプロバイダー)、トークンリクエスター、リソースプロテクターの関係図を頭に入れておくと良いと思った。
- IdPはユーザーの情報を管理していてる認証機関
- トークンリクエスターはIdPに認証を依頼してその結果であるトークンを取得してローカルに保存する機能
- リソースプロテクターはIdPによって保護される機能であり、トークンの正当性を検証する機能
Azure AD周辺のライブラリはトークンリクエスターとリソースプロテクターに分類される。トークンリクエスターはADALとして機能がライブラリ化されている。リソースプロテクターはサーバーサイドのライブラリとしてOWINという仕様でライブラリ化されている。5章以降はADALやOWINの仕組みを利用した実装の解説だが、サンプルコードや解説文を読んでも理解が難しいので、公開されているGetting Startで手を動かしながら読み進めるのが良い。
それにしても洋書の翻訳は苦手だ。