MS Open TechはCordovaプラグインを発表した。これによって開発者は、Android、iOS、Windows Store、Windows Phone向けアプリでActive Directory Authenticationを使って、Office 365やAzure、Graph APIにアクセスできる。
Vittorio Bertocci氏はADAL向けのCordovaプラグインについて、CordovaアプリでADAL JSを使いたいという開発者の要望に答えたものだ、と説明している。氏によれば、ADAL JSはSPAアプリ開発で使われており、このような環境では、環境に適したすべての制約を強制される。例えば、"ブラウザサンドボックス、暗黙のフローでのリフレッシュトークンの欠如など"だ。ADAL向けのCordovaプラグインはこのような制限に対処する必要はない。ホストのプラットフォームの認証機能との統合を提供するからだ。例えば、ADALの非同期トークンを取得するJavaScriptのコードはiOSのKeychainに保存される。Windows Phoneの場合は、Windows Store Isolated Storageだ。これは、このプラグインがiOS、Android、Windows Store、Windows Phoneの既存のネイティブライブラリのラッパとして動作することにより実現されている。
サンプルとしてAzureチームはマルチプラットフォームのシングルコードベースのサンプルアプリを提供している。このアプリは、
- Azure Active Directory (AAD)のユーザがOAuth 2.0プロトコルを通じて、JWTアクセストークンを取得できる。
- トークンをAADのGraph APIへ送信し、ユーザ認証を行って、ユーザについての情報を取得する。
サンプルアプリ"おもちゃ"みたいなものだ、とBertocci氏は言うが、"如何にコードが完結になるか"を示している。このサンプルアプリでは、200行に満たないJavaScriptのコードで、Azure Active Directory APIへリクエストを送り、コールバックを処理し、結果を描画している。