ログイン ページとホーム領域検出
更新日: 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 管理ポータルで [ 証明書利用者アプリケーション] をクリックし、アプリケーションを選択して、[ 領域 ] フィールドを参照します。
証明書利用者アプリケーションのログイン ページのリンクを見つけるには:
Microsoft Azure管理ポータル (https://manage.WindowsAzure.com) に移動し、サインインし、[Active Directory] をクリックします。 (トラブルシューティングのヒント: "Active Directory" 項目が見つからないか、使用できません)
アクセス制御名前空間を管理するには、名前空間をクリックしてしてから [管理] をクリックします。 または、[アクセス制御名前空間] をクリックして名前空間を選択し、[管理] をクリックします。
[アプリケーションの統合] をクリックし、[ログイン ページ] をクリックしてから証明書利用者アプリケーションを選択します。
[ログイン ページの統合] ページに、アプリケーションのログイン ページ オプションが表示されます。
次の図は、Windows Live ID (Microsoft アカウント)、Google、Yahoo!、Facebook、および架空の WS-Federation ID プロバイダーである "Contoso Corp" をサポートするアプリケーションの既定のログイン ページを示しています。
WS-Federation ID プロバイダーのボタンを電子メール アドレスのテキスト ボックスで置き換えるには、WS-Federation ID プロバイダーのログイン ページのリンクに電子メール アドレスのサフィックスを追加します。 この手法は、証明書利用者アプリケーションに対して多くの WS-Federation ID プロバイダーが構成されている場合に有効です。 次の画像は、サンプル ページを示しています。
ACS と証明書利用者アプリケーションの統合を迅速に行うには、既定の ACS ホストログイン ページを使用します。 このページのレイアウトと外観をカスタマイズするには、既定のログイン ページを HTML ファイルとして保存し、HTML および JavaScript をアプリケーションにコピーしてカスタマイズします。
オプション 2: アプリケーションの一部としてカスタム ログイン ページをホストする
フェデレーション ログイン ページの外観、動作、場所を完全に制御できるように、ACS は、ID プロバイダーの名前、ログイン URL、画像、電子メール ドメイン名 (のみ) を含む JSON エンコードメタデータ フィードを提供します。 このフィードは、ホーム領域検出メタデータ フィードと呼ばれます。
サンプルのカスタム ログイン ページ
各証明書利用者アプリケーションのサンプルの HTML ログイン ページをダウンロードするには:
Microsoft Azure管理ポータル (https://manage.WindowsAzure.com) に移動し、サインインし、[Active Directory] をクリックします。 (トラブルシューティングのヒント: "Active Directory" 項目が見つからないか、使用できません)
アクセス制御名前空間を管理するには、名前空間をクリックしてしてから [管理] をクリックします。 または、[アクセス制御名前空間] をクリックして名前空間を選択し、[管理] をクリックします。
[アプリケーションの統合] をクリックし、[ログイン ページ] をクリックして証明書利用者アプリケーションを選択します。
[ログイン ページの統合] ページで、[ログイン ページの例のダウンロード] をクリックします。
サンプル HTML コードは、ACS でホストされるログイン ページの HTML コードと同じです。
このサンプルには、ページを表示するための JavaScript 関数が含まれています。 ページの下部にあるスクリプト タグは、メタデータ フィードを呼び出します。 カスタム ログイン ページは、この例で示すように純粋なクライアント側 HTML および JavaScript を使用してメタデータを消費できます。 このフィードは、JSON エンコードをサポートする任意の言語でカスタム ログイン コントロールを表示するために消費および使用することもできます。
ホーム領域検出メタデータ フィード
証明書利用者アプリケーションのホーム領域検出メタデータ フィード URL を見つけるには:
Microsoft Azure管理ポータル (https://manage.WindowsAzure.com) に移動し、サインインし、[Active Directory] をクリックします。 (トラブルシューティングのヒント: "Active Directory" 項目が見つからないか、使用できません)
アクセス制御名前空間を管理するには、名前空間をクリックしてしてから [管理] をクリックします。 または、[アクセス制御名前空間] をクリックして名前空間を選択し、[管理] をクリックします。
[アプリケーションの統合] をクリックし、[ログイン ページ] をクリックしてから証明書利用者アプリケーションを選択します。
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”]
} ]