ADAL.js
Visual Studio 2017でサンプルコードを試してみた。ログインした後にWeb Storageに保存されるid tokenとaccess tokenが同じjwtである理由が分からなかった。調査するとADAL.jsはresponse_type=id_tokenでトークンを要求しており、単に SignIn や、自身のバックエンド サービスを呼び出す際は、access token ではなく id token を要求することが多いようである。下記サイトに記載がありました。ありがとうございます。
https://tsmatz.wordpress.com/2015/03/05/javascript-azure-ad-oauth-implicit-grant/
書籍「クラウド時代の認証基盤 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で手を動かしながら読み進めるのが良い。
それにしても洋書の翻訳は苦手だ。
書籍「入門監視」を再読した
一度の読書で身につくほど賢くないのでもう一度読んでみた。アラートは誰かをたたき起こすほど重要なものと参考情報を区別するべきは同意である。業務で担当しているシステムから毎日数通のアラートメールが届くけど誰も読んでいない。これはメールのほとんどが参考情報なんでいつの間にか誰も読まなくなった例だと思う。他にも監視業務そのものを低級な仕事と考えているエンジニアもいて、自分がかかわっているシステムの監視ぐらい出来るようになれっていつも思っている。本書を読めば監視は難しいし複雑な問題を扱っていることに気づくと思う。また専門的な知識が必要だし、だれか一人に押し付けてよいものでもない。監視を適切にするころでユーザーの満足度を上げられるような問題にも気づけるし、さらにユーザーより早く問題の予兆にも気づけるはずだ。
映画「スパイダーマン:スパイダーバース」をMX4Dで鑑賞
昨日に続いて2回目の鑑賞。今度は車で遠出してMX4Dにしました。料金は3Dメガネの購入も含めて3200円と少々高めですが、座席が揺れたり空気圧をかけられたり初めの体験が新鮮でした。映画をゆっくり見たいので、空気圧は鬱陶しい気がしましたが、スパイダーマンの躍動を3Dで追体験できたのは良かった。
多次元世界からやってきたスパイダーマンの中に漫画的キャラクターがいるんだけど、そいつらが戦うときは漫画的な動きや表現になるのがすごくカッコ良い。主人公のスパイダーマンも同じ漫画だけど、異なる世界(漫画)で生きているスパイーダマンたちがそれぞれの漫画表現で戦うのがすごく良い。それと日本版のエンディングは映画とすごくマッチしているから好きです。