登入頁面和主領域探索

更新日期:2015 年 6 月 19 日

適用對象:Azure

Microsoft Azure Active Directory 存取控制 (也稱為存取控制服務或 ACS) 提供兩種簡單方式,為您的網站或應用程式產生同盟登入頁面:

選項 1:ACS-Hosted登入頁面

ACS 裝載可在信賴憑證者應用程式中使用的基本同盟登入頁面。 此登入頁面是在命名空間的 WS-同盟通訊協定端點上管理,可透過下列格式的 URL 來存取。

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

在此 URL 中,將YourNamespace > 取代 <為存取控制命名空間的名稱。 此外,此 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 和 「Contoso Corp」,這是虛構的WS-Federation識別提供者。

ACS 2.0 login pages

若要將 WS-同盟身分識別提供者按鈕取代為電子郵件地址文字方塊,請將電子郵件地址尾碼加入至 WS-同盟身分識別提供者的登入頁面的連結。 當信賴憑證者應用程式設定許多 WS-同盟身分識別提供者時,此方法很有用。 下圖顯示範例頁面。

ACS 2.0 login pages

若要加速 ACS 與信賴憑證者應用程式的整合,請使用預設的 ACS 裝載登入頁面。 若要自訂此頁面的版面配置和外觀,可將預設登入頁面另存為 HTML 檔案,並將 HTML 和 JavaScript 複製到可自訂它的應用程式。

選項 2:將自訂登入頁面裝載為應用程式的一部分

若要完全控制同盟登入頁面的外觀、行為和位置,ACS 會提供 JSON 編碼的中繼資料摘要,其中包含名稱、登入 URL、影像和電子郵件功能變數名稱, (只) 識別提供者。 此摘要也稱為「主領域探索中繼資料摘要」。

自訂登入頁面範例

下載每一個信賴憑證者應用程式的 HTML 登入頁面範例:

  1. 移至Microsoft Azure管理入口網站 (https://manage.WindowsAzure.com) 登入,然後按一下[Active Directory]。 (疑難排解提示: 「Active Directory」 專案遺失或無法使用)

  2. 若要管理存取控制命名空間,請選取該命名空間,然後按一下 [管理]。 (或按一下 [存取控制命名空間]、選取 [命名空間],然後按一下 [管理])。

  3. 按一下 [應用程式整合],按一下 [登入頁面],然後選取信賴憑證者應用程式。

  4. 在 [登入頁面整合] 頁面上,按一下 [下載登入頁面範例]

範例 HTML 程式碼與 ACS 裝載登入頁面的 HTML 程式碼相同。

此範例包含呈現頁面的 JavaScript 函數。 頁面底部的一個 Script 標記會呼叫中繼資料摘要。 自訂登入頁面可利用此範例所示的用戶端 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 編碼陣列的文件,每一個內部陣列則代表一個內含下列欄位的身分識別提供者:

  • Name - 可直接閱讀的身分識別提供者顯示名稱。

  • LoginUrl - 建構的登入要求 URL。

  • LogoutUrl - 此 URL 可讓使用者登出其登入的身分識別提供者。 目前僅支援 和 Windows Live ID (Microsoft 帳戶) ,而其他識別提供者則為空白。

  • ImageUrl — 要顯示的影像,如 ACS 管理入口網站中所設定。 若無影像則空白。

  • EmailAddressSuffixes - 身分識別提供者相關聯的電子郵件地址尾碼陣列。 在 ACS 中,電子郵件地址尾碼只能透過 ACS 管理入口網站為識別提供者設定。 若未設定尾碼,則傳回空陣列。

下列範例顯示針對信賴憑證者應用程式設定Windows Live ID 和 AD FS 2.0 時的 JSON 摘要。 使用者已在 ACS 管理入口網站中設定Windows即時識別碼的影像 URL,並為識別提供者新增電子郵件網域尾碼。

注意

我們加入換行以方便閱讀,也將 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 元件