[Blog翻訳] Windows Live 開発者向けプラットフォームに OAuth 2.0 などを追加

みなさん、こんにちは。Windows 開発統括部の古内です。

この前、Windows Live の OAuth 2.0 サポートに関する翻訳記事をお届けしましたが、先週 OAuth 2.0 などを含んだ新しい Messenger Connect に関する発表がありましたのでご紹介します。という訳で、今日は 2011 年 6 月 14 日に Inside Windows Live Blog に投稿された 「Windows Live developer platform adds OAuth 2.0 and more, continuing to let users connect the devices, apps, and sites they choose」 の翻訳です。

なお、当然と言えば当然ですが、英語のオリジナルの文章から参照 (リンク) されている資料は、英語のものばかりです。該当する日本語ページが存在する場合は、日本語ページへリンクを変更していますが、今回の記事からリンクされているものにはほとんど日本語ページがありません。 そこで、Windows Live Essentials に含まれるアプリケーションを説明するためのリンクについて、オリジナル文章では他の英語ブログ記事へリンクが張られているものを、下記では独断で日本語の説明ページへリンクを変更しました。どうぞご了承ください。


Windows Live 開発者向けプラットフォームに OAuth 2.0 などを追加 ー 任意のデバイスやアプリケーション、サイトへの接続がこれからも可能

任意のデバイスやアプリケーション、サイトに接続できなければ、より充実した統合型のエクスペリエンスは実現できない、とマイクロソフトでは考えています。ほとんどすべての Windows 7 PC に Messengerフォト ギャラリーなどの Windows Live Essentials アプリケーションがプレインストールされています。そのため、Facebook や LinkedIn などのサービスに接続するだけで、Facebook チャット、Messenger でのソーシャル フィード、フォト ギャラリーでの人物タグ付きの画像の投稿、Windows Live のいたるところでシームレスに利用可能な連絡先情報など、広範囲に及ぶリッチな機能を利用することができます。もちろん、サービスに 1 回接続すれば、接続先のサービスはユーザーと共に Windows PhoneHotmail などにローミングします。

逆に、ユーザーが選ぶ別のデバイスやアプリケーション、サイトから、Hotmail や Messenger、SkyDrive にシームレスにアクセスする必要もあります。Messenger Connect は、サイトやアプリケーションの開発者が SkyDrive や Messenger、Hotmail をエクスペリエンスに組み込むためのプラットフォームです。この統合をさらに簡易化する新しい拡張機能を本日、発表できることを喜ばしく思います。

Messenger Connect のリリース以降、開発者がマイクロソフトの API をどう使いたがっているのか、このプラットフォームをどう改善すればよいのかという点について、フォーラムを通じてだけでなく、WordPressSina WeiboGigya などのパートナー各社からもすばらしいフィードバックを得ることができました。開発者は当然、より新しい標準プロトコルを使った、より多彩な統合シナリオを利用したいと考えています。そしてプログラミングをより簡単にし、アプリケーションやサイトのエンド ユーザー エクスペリエンスをシンプルにしたいと望んでいます。

そのため、進化した Messenger Connect により、次のものが提供されるようになりました。

OAuth 2.0 ― 最新の Web 承認規格

  • マイクロソフトが OAuth 2.0 をサポートすることで、Facebook や Google といった他の Web プラットフォームで使用される標準の認証プロトコルを使って、Hotmail や Messenger、SkyDrive をより簡単に統合できるようになりました。

シングル サインオンと新しい Hotmail カレンダー アクセス

  • シングル サインオン: ユーザーが既に Hotmail や SkyDrive、MSN.com、または他の場所から Windows Live ID を使ってサインインしている場合、貴社のサイトにアクセスした時点で資格情報の再入力は必要ありません。
  • Hotmail カレンダー: アプリケーションからプログラミング的に、ユーザーのカレンダーに予定を挿入することができます。

デスクトップおよびモバイル Web でのユーザー エクスペリエンスの改良

  • アプリケーションにユーザーがアクセスを許可する方法を刷新しました。ユーザーが与えるアクセス許可を従来より明示的にし、データに対するユーザー自身のコントロール能力を高めました。また、この認証ダイアログを複数のバージョンで提供するようにしました。スマートフォン用のタッチ フレンドリーなバージョンもその一部です。

プログラミングの簡易化

  • JSON データ形式に特化することで、REST ベース API を簡素化しました。
  • と同時に、サービスから返される応答データの平均サイズを小さくすることで、パフォーマンスを高速化し、必要な帯域幅を削減しました。
  • さらに、JavaScript ライブラリを再設計し、一般的なタスクをより少ない行数のコードで実行できるようにしました。

より多くのコード例を掲載した使いやすいドキュメント

  • 開発者からのフィードバックに基づき、よりシナリオ中心の構成となるようにドキュメントを刷新しました。

OAuth 2.0 ― 最新の Web 承認規格

OAuth は、一方のサービスまたはアプリケーションから、もう一方のサービスまたはアプリケーションでホストされているデータへのアクセスを、ユーザーが許可するための承認プロトコルです。両者間でユーザー名やパスワードを共有する必要はありません。Messenger Connect の旧バージョンでは、OAuth 2.0 の旧バージョンである OAuth WRAP を使用していました。Messenger Connect の新リリースでは、OAuth 2.0 仕様のドラフト 16 をサポートしています。Facebook や Salesforce、Google など、この IETF 標準トラックの仕様を採用する Web プラットフォームが増えつつあります。

Messenger Connect は、単に最新の OAuth 2.0 を実装しているだけではありません。マイクロソフトはこの機会を利用して、ユーザーによる承認プロセスが行われている間の、開発者およびエンド ユーザーのエクスペリエンスを、その重要な側面において改良しました。開発者の立場からいえば、Messenger Connect と統合する際、サーバー側コードで OAuth 検証ステップを実行する必要がなくなりました。すべてクライアント側で、数行の JavaScript コードを使って実行することができます。

シングル サインオンと新しい Hotmail カレンダー アクセス

シングル サインオンにより、ユーザーは HotmailMSN ホームページなど、Windows Live ID ベースのサイトやアプリケーションにサインインした時点で、Messenger Connect パートナー サイトにもサインインしたことになります。つまり、資格情報の再入力は必要ありません。サイトまたはアプリケーションでこの機能を使用するには、ユーザーの同意を求める際に wl.signin スコープの承認を得るだけで済みます。その後、その Web サイトに、Windows Live ID ベースのサイトにサインイン済みのユーザーがアクセスすると、パートナー サイトまたはアプリケーションにもサインインしていることになります。パートナー Web サイトからサインアウトすると、ユーザーは他の Windows Live Web サイトからもサインアウトすることになります。

もう 1 つ、開発者からの要望が多かったのは、アプリケーションや Web サイトからユーザーの Hotmail カレンダーに予定を追加するという機能です。私のようにスマートフォンとカレンダーを同期しているユーザーには特に、この機能は便利だと思います (Hotmail は Exchange ActiveSync をサポートしています)。外出先でもイベントのアラームを受け取ることができるからです。

デスクトップおよびモバイル Web でのユーザー エクスペリエンスの改良

そのほか、ユーザーがアプリケーションから Windows Live アカウントに接続を試みるとき、アプリケーションが何の情報にアクセスするのかが明確になるようにするために、エンド ユーザー エクスペリエンスに変更を加えました。Messenger Connect の旧バージョンでは、ユーザーが自分の Windows Live ID を使ってサインインを試みるとき、次のようなダイアログが表示されていました。

Messenger Connect の旧バージョンでのサインイン ダイアログ

アプリケーションからアクセスしようとしている情報の種類が何であれ、同じダイアログが表示されていたのです。アプリケーションがどういった情報にアクセスを試みているかを確認するには、「What will I share」リンクをクリックする必要がありました。Messenger Connect の新バージョンでは、サインイン ダイアログと承認ダイアログが別々になっています。これにより、アプリケーションがアクセスしようとしている情報が明確になるだけでなく、ユーザーが既に HotmailMSN ホームページなど、Windows Live ID ベースのサイトにサインイン済みの場合、余分なサインインの手間を省けるようになりました。

以下に、新しいエクスペリエンスを示します。既にユーザーがサインイン済みの場合は、一回クリックすればよいだけの同意ページが直ちに表示されます。

Messenger Connect の新バージョンでのサインイン ダイアログ

Messenger Connect の [Allow access?] ダイアログ

さらに、このエクスペリエンスの携帯電話向けバージョンも用意しました。

携帯電話向けの Messenger Connect サインイン ダイアログ

プログラミングの簡易化

旧バージョンのもう 1 つの問題点として、API が複雑過ぎるということがありました。AtomPub や JSON、RSS、旧来の XML など、サポートするデータ形式が多い割には、それに見合ったメリットがありませんでした。そのため、リソース モデルが複雑化し、API から不要なデータが返される結果となっていました。
新バージョンでは、ただ 1 つの共通形式、JSON を使用します。さらに、リソース モデルも簡素化しました。以下に、フォト アルバムからの取得を行うコード例を示し、旧バージョンと最新バージョンの API どうしを比較します。

旧バージョン: 以前の v4.1 バージョンでは、フォト アルバムからの取得を行う際、Atom 形式で結果が返されていました。

Atom コード例

新バージョン: よりシンプルになった新しい v5 バージョンでは、同じ結果が JSON で返されます。

JSON コード例

より多くのコード例を掲載した使いやすいドキュメント

従来のドキュメントから、開発者は、Messenger Connect API が他のオンライン サービスで提供される機能よりも複雑であるかのような印象を受けていました。そこで私たちは、Messenger Connect の基本的な使い方や、Messenger Connect を使う人たちのタイプおよび使い方について、コード例を交えながら説明すれば、より有益な情報を提供できるだろうと考えました。Messenger Connect Web サイト (https://dev.live.com) をご覧ください。以下の情報を盛り込み、ドキュメントを更新しています。

前述のように、開発者が Hotmail や Messenger、SkyDrive をアプリケーションや Web サービスに簡単に統合できるようになったため、いずれ、ユーザーが使い慣れた他のサービスやコンポーネントをマイクロソフト製アプリケーションやサービスなどにも簡単に統合できるようになるでしょう。

アプリケーションやサイトを開発中の方は、MSDN のデベロッパー センター (英語) で Messenger Connect の詳細情報をご確認ください。フィードバックもお待ちしています。ユーザーの皆さんは、ぜひ、お気に入りのサイトやアプリケーションの開発元に、Windows Live との統合を提案してみてください。