ログイン ページとホーム領域検出

更新日: 2015 年 6 月 19 日

適用先:Azure

Microsoft Azure Active Directory Access Control (Access Control サービスまたは ACS とも呼ばれます) は、Web サイトまたはアプリケーションのフェデレーション ログイン ページを生成する 2 つの簡単な方法を提供します。

オプション 1: ログイン ページACS-Hosted

ACS は、証明書利用者アプリケーションで使用できる基本的なフェデレーション ログイン ページをホストします。 このログイン ページは名前空間の WS-Federation プロトコル エンドポイントでホストされ、次の形式で URL によってアクセスできます。

https://<YourNamespace>.accesscontrol.windows.net/v2/wsfederation?wa=wsignin1.0&wtrealm=<YourAppRealm>&redirect=false

この URL で、YourNamespace> をAccess Control名前空間の名前に置き換えます<。 さらに、この URL では次のパラメーターが必要です。

  • wa - wsignin1.0 に設定します。

  • wtrealm - 証明書利用者アプリケーションの領域の値に設定します。 領域の値を見つけるには、ACS 管理ポータルで [ 証明書利用者アプリケーション] をクリックし、アプリケーションを選択して、[ 領域 ] フィールドを参照します。

証明書利用者アプリケーションのログイン ページのリンクを見つけるには:

  1. Microsoft Azure管理ポータル (https://manage.WindowsAzure.com) に移動し、サインインし、[Active Directory] をクリックします。 (トラブルシューティングのヒント: "Active Directory" 項目が見つからないか、使用できません)

  2. アクセス制御名前空間を管理するには、名前空間をクリックしてしてから [管理] をクリックします。 または、[アクセス制御名前空間] をクリックして名前空間を選択し、[管理] をクリックします。

  3. [アプリケーションの統合] をクリックし、[ログイン ページ] をクリックしてから証明書利用者アプリケーションを選択します。

    [ログイン ページの統合] ページに、アプリケーションのログイン ページ オプションが表示されます。

次の図は、Windows Live ID (Microsoft アカウント)、Google、Yahoo!、Facebook、および架空の WS-Federation ID プロバイダーである "Contoso Corp" をサポートするアプリケーションの既定のログイン ページを示しています。

ACS 2.0 login pages

WS-Federation ID プロバイダーのボタンを電子メール アドレスのテキスト ボックスで置き換えるには、WS-Federation ID プロバイダーのログイン ページのリンクに電子メール アドレスのサフィックスを追加します。 この手法は、証明書利用者アプリケーションに対して多くの WS-Federation ID プロバイダーが構成されている場合に有効です。 次の画像は、サンプル ページを示しています。

ACS 2.0 login pages

ACS と証明書利用者アプリケーションの統合を迅速に行うには、既定の ACS ホストログイン ページを使用します。 このページのレイアウトと外観をカスタマイズするには、既定のログイン ページを HTML ファイルとして保存し、HTML および JavaScript をアプリケーションにコピーしてカスタマイズします。

オプション 2: アプリケーションの一部としてカスタム ログイン ページをホストする

フェデレーション ログイン ページの外観、動作、場所を完全に制御できるように、ACS は、ID プロバイダーの名前、ログイン URL、画像、電子メール ドメイン名 (のみ) を含む JSON エンコードメタデータ フィードを提供します。 このフィードは、ホーム領域検出メタデータ フィードと呼ばれます。

サンプルのカスタム ログイン ページ

各証明書利用者アプリケーションのサンプルの HTML ログイン ページをダウンロードするには:

  1. Microsoft Azure管理ポータル (https://manage.WindowsAzure.com) に移動し、サインインし、[Active Directory] をクリックします。 (トラブルシューティングのヒント: "Active Directory" 項目が見つからないか、使用できません)

  2. アクセス制御名前空間を管理するには、名前空間をクリックしてしてから [管理] をクリックします。 または、[アクセス制御名前空間] をクリックして名前空間を選択し、[管理] をクリックします。

  3. [アプリケーションの統合] をクリックし、[ログイン ページ] をクリックして証明書利用者アプリケーションを選択します。

  4. [ログイン ページの統合] ページで、[ログイン ページの例のダウンロード] をクリックします。

サンプル HTML コードは、ACS でホストされるログイン ページの HTML コードと同じです。

このサンプルには、ページを表示するための JavaScript 関数が含まれています。 ページの下部にあるスクリプト タグは、メタデータ フィードを呼び出します。 カスタム ログイン ページは、この例で示すように純粋なクライアント側 HTML および JavaScript を使用してメタデータを消費できます。 このフィードは、JSON エンコードをサポートする任意の言語でカスタム ログイン コントロールを表示するために消費および使用することもできます。

ホーム領域検出メタデータ フィード

証明書利用者アプリケーションのホーム領域検出メタデータ フィード URL を見つけるには:

  1. Microsoft Azure管理ポータル (https://manage.WindowsAzure.com) に移動し、サインインし、[Active Directory] をクリックします。 (トラブルシューティングのヒント: "Active Directory" 項目が見つからないか、使用できません)

  2. アクセス制御名前空間を管理するには、名前空間をクリックしてしてから [管理] をクリックします。 または、[アクセス制御名前空間] をクリックして名前空間を選択し、[管理] をクリックします。

  3. [アプリケーションの統合] をクリックし、[ログイン ページ] をクリックしてから証明書利用者アプリケーションを選択します。

URL はアプリケーションの [ログイン ページ統合] ページの [オプション 2: ログイン ページをアプリケーションの一部としてホストする] に表示されます。

ホーム領域検出フィード URL のサンプルを次に示します。

https://YourNamespace.accesscontrol.windows.net/v2/metadata/IdentityProviders.js?protocol=wsfederation&realm=YourAppRealm&reply_to=YourAppReturnURL&context=&version=1.0&callback=OptionalFunctionName

この URL では、次のパラメーターを使用します。

  • YourNamespace - 必須です。 Azure 名前空間の名前に設定します。

  • protocol - 必須です。 これは、証明書利用者アプリケーションが ACS との通信に使用するプロトコルです。 ACS では、この値を wsfederation に設定する必要があります。

  • realm - 必須です。 これは、ACS 管理ポータルで証明書利用者アプリケーションに指定した領域です。

  • version - 必須です。 ACS では、この値は 1.0 に設定する必要があります。

  • reply_to - 省略可能です。 これは、ACS 管理ポータルで証明書利用者アプリケーションに指定した戻り URL です。 省略した場合、返される URL の値は、ACS 管理ポータルで証明書利用者アプリケーション用に構成されている既定値に設定されます。

  • context - 省略可能です。 これは、トークンで証明書利用者アプリケーションに戻すことができる追加のコンテキストです。 ACS はこれらの内容を認識しません。

  • callback - 省略可能です。 このパラメーターは、JSON フィードが読み込まれたときに実行する JavaScript 関数の名前に設定します。 JSON フィード文字列は、この関数に渡される引数です。

注意

JSON エンコード メタデータ フィードは変更される可能性があるため、これをキャッシュしないことをお勧めします。

JSON フィード データ形式

前に説明したように、メタデータ フィードが有効なパラメーターで要求された場合、応答は配列の JSON エンコード配列を含むドキュメントとなり、各内部配列が、次のフィールドで ID プロバイダーを表します。

  • Name - ID プロバイダーの、人が判読できる表示名です。

  • LoginUrl - 作成されたログイン要求の URL です。

  • LogoutUrl - この URL により、エンド ユーザーはサインインしている ID プロバイダーからサインアウトできます。 現在、これは Live ID (Microsoft アカウント) でのみサポートされ、Windows 他の ID プロバイダーでは空です。

  • ImageUrl: ACS 管理ポータルで構成されている、表示するイメージ。 画像がない場合は空になります。

  • EmailAddressSuffixes - ID プロバイダーに関連付けられた電子メール アドレスのサフィックスの配列です。 ACS では、電子メール アドレス サフィックスは、ACS 管理ポータルを使用して ID プロバイダーに対してのみ構成できます。 サフィックスが構成されていない場合は、空の配列を返します。

次の例は、Windows Live ID と AD FS 2.0 が証明書利用者アプリケーション用に構成されている場合の JSON フィードを示しています。 ユーザーは ACS 管理ポータルで Windows Live ID のイメージ URL を設定し、ID プロバイダーの電子メール ドメイン サフィックスを追加しました。

注意

読みやすくするため、改行が追加され、URL は簡潔化されています。

[ {
   "Name":"Windows Live ID",
   "LoginUrl":" https://...",
   "LogoutUrl":" https://...",
   "ImageUrl":"https://...",
   "EmailAddressSuffixes":[]
},
{
   "Name":"My ADFS 2.0 Provider",
   "LoginUrl":" https://...",
   "LogoutUrl":" https://...",
   "ImageUrl":"",
   "EmailAddressSuffixes":[“contoso.com”]
} ]

参照

概念

ACS 2.0 コンポーネント