Microsoft アカウントのサインインの要件 (HTML)

Windows ランタイム アプリでは、Outlook.com や Microsoft OneDrive のような Microsoft クラウド サービス内のデータにアプリがアクセスできるように、ユーザーのサインインやサインアウトで Microsoft アカウントを使うことができます。

アプリのサインインとサインアウトのエクスペリエンスを設計するときは、他の Windows ランタイム アプリのユーザー エクスペリエンスとの一貫性を保つために、次のガイドラインに従います。それらのガイドラインは、ユーザーのデータのセキュリティを保つためにも役立ちます。

重要  このトピックのチュートリアルでは、Windows ストア アプリについて説明します。また、Windows Phone ストア アプリに Microsoft サービスを追加することもできます。ただし、Windows Phone ユーザー インターフェイスではポップアップがサポートされないので、このトピックでポップアップが使われる機能を実装するために Windows Phone ストア アプリ内のページを使う必要があります。

 

概要

Outlook.com や OneDrive のような Microsoft クラウド サービスにあるユーザーのデータにアクセスするには、ユーザーが Microsoft アカウントを使ってサインインし、アプリが必要とするデータへのアプリからのアクセスに同意することが必要です。ユーザーがコンピューターの他のユーザーからデータを保護できるようにするには、Windows ストア アプリでユーザーがアプリからサインアウトできるようにする必要もあります。このトピックでは、その方法について説明します。

重要  アプリでユーザーがサインアウトできるようにしておかないと、ユーザーが最初にサインインしたときのコンピューター アカウントでアプリが実行されている場合、アプリはいつでもユーザーのデータにアクセスできることになります。このことは、ユーザーがコンピューターを共有することも紛失することもなければ非常に便利ですが、コンピューターが他の人に使われた場合や盗まれた場合にはセキュリティの脆弱性を招く可能性があります。こうした理由から、Windows ストア アプリは、ユーザーのアカウントでいつサインインしたかを常に表示し、ユーザーがサインアウトできるようにしておく必要があります。

 

  ユーザーのコンピューター アカウントが Microsoft アカウントに関連付けられている場合、ユーザーがアプリ内で Microsoft アカウントからサインアウトすることはできません。このような状況は、個人用のコンピューターでのみ発生し、共有コンピューターでは発生しません。

 

以下の手順は、アプリがユーザーのプロファイル情報にアクセスする方法の概要を示しています。手順について詳しくは、「Microsoft サービスをアプリに追加する方法」をご覧ください。

  1. WL.init() を呼び出して、JavaScript API を初期化する

    アプリは、Live SDK の関数を使うページごとに、WL.init() を 1 回ずつ呼び出す必要があります。

    Live SDK を呼び出す関数を単一のファイルにまとめておくと、アプリ内でこの処理を単純化できる可能性があります。

  2. 設定コマンドをアプリに追加する

    アプリの [設定] ウィンドウに次の 2 つのエントリを追加します。

    • アカウント

      [設定] ウィンドウの [アカウント] コマンドは、ユーザーが Microsoft アカウントに対するサインインやサインアウトを行うことができるポップアップを表示します。

    • プライバシー ポリシー

      [設定] ウィンドウの [プライバシー] コマンドは、アプリのプライバシー ポリシーを含むポップアップを表示します。

    次の画像は、これらのコマンドを明示的に追加した設定ウィンドウを示します。アプリに他の設定がある場合は、サインインとサインアウトの機能またはプライバシーに関する声明を、他の関連するエントリと共に設定ポップアップに配置することも考えられます。重要なポイントは、これらの設定をアプリ内で見つけて使用できるようにすることです。

    コード例によって作成された設定タブのスクリーン ショット

  3. プライバシー ポリシーを提示する

    詳しくは、「Windows ストアと Windows Phone ストアのポリシー」をご覧ください。

  4. ユーザーをサインインさせる

    アプリはこれを起動時に自動的に行うことも、Outlook.com や OneDrive のような Microsoft クラウド サービスに格納されているデータにアクセスする必要があるときにだけ、ユーザーがサインインできるようにすることもできます。

    重要  最も高いセキュリティと一貫性を確保するには、ここに示す Windows 8 サインイン コントロールのみを使ってユーザーのサインインを行います。

     

    Microsoft アカウントのサインイン UI のスクリーン ショット

    自分のプロファイル情報にアプリからアクセスするためのアクセス許可を、ユーザーがまだアプリに付与していない場合は、この画面もユーザーに表示されます。

    同意の UI のスクリーン ショット

  5. ユーザーをサインアウトさせる

    アプリがどのように使われるかを検討してください。ユーザーが機微であると考えるようなデータにアプリがアクセスする場合、アプリは不正なアクセスができないようにユーザーを自動的にサインアウトさせる必要があります。より安全な環境でアプリが使われている場合は、サインアウトするかどうかをユーザーに任せることもできます。ユーザーが手動でサインアウトするには、[アカウント] 設定コマンドを使います。

    ユーザーのコンピューター アカウントが Microsoft アカウントに関連付けられている場合、ユーザーがアプリ内で Microsoft アカウントからサインアウトすることはできません。このような状況は、個人用のコンピューターでのみ発生し、共有コンピューターでは発生しません。

    重要  

    ユーザーは、アプリが Microsoft アカウントに接続しているときと接続していないときを常に理解している必要があります。

     

  6. アプリの UI にサインインの状態を表示する

    ユーザーがサインインし、アプリがユーザーの情報にアクセスできるときは、それをユーザーに示すような種類の表示をアプリの UI に追加します。

      サインインしていることをアプリがユーザーに知らせることが重要です。そのためには、単にユーザーの名前を表示したり、Microsoft クラウド サービスに格納されているデータの要素を一覧表示したりするだけでも十分です。たとえば、OneDrive のユーザーの写真を表示するアプリでは、ユーザーがサインインしている場合は写真の一覧を表示し、サインインしていない場合はサインインが必要であることを示すメッセージを表示できます。OneDrive

     

関連トピック

Microsoft サービスをアプリに追加する方法

Live SDK