此页面有用吗?
您对此内容的反馈非常重要。 请告诉我们您的想法。
更多反馈?
1500 个剩余字符
登录页与主领域发现

登录页与主领域发现

发布时间: 2011年4月

更新时间: 2015年6月

应用到: Azure

Microsoft Azure Active Directory 访问控制(也称为访问控制服务或 ACS) 提供两种简便的方法来为你的网站或应用程序生成联合登录页:

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 联合身份验证标识提供程序)的应用程序的默认登录页。

ACS 2.0 登录页

若要将 WS 联合身份验证标识提供程序按钮替换为电子邮件地址文本框,请将电子邮件地址后缀添加到 WS 联合身份验证标识提供程序的登录页链接中。当为信赖方应用程序配置许多 WS 联合身份验证标识提供程序时,此方法很有用。下图显示了一个示例页。

ACS 2.0 登录页

若要加快 ACS 与信赖方应用程序的集成,请使用 ACS 托管的默认登录页。若要自定义此页的布局和外观,请将默认登录页另存为一个 HTML 文件并将 HTML 和 JavaScript 复制到可以进行自定义的应用程序。

为了实现对联合登录页的外观、行为和位置的完全控制,ACS 使用标识提供程序的名称、登录 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 馈送字符串是传递给此函数的参数。

note备注
JSON 编码的元数据馈送可能会更改,因此建议你不要缓存它。

当使用前文所述的有效参数请求元数据馈送时,响应是一个文档,内含 JSON 编码的数组组成的数组,其中每个内部数组均表示一个包含以下字段的标识提供程序:

  • 名称 - 标识提供程序的人工可读的显示名称。

  • LoginUrl - 构造的登录请求 URL。

  • LogoutUrl - 此 URL 允许最终用户从他们用于登录的标识提供程序中注销。目前只有 和 Windows Live ID(Microsoft 帐户) 支持此项,其他标识提供程序的此项为空。

  • ImageUrl - ACS 管理门户中配置的要显示的图像。如果没有图像,则为空。

  • EmailAddressSuffixes - 与标识提供程序关联的电子邮件地址后缀的数组。在 ACS 中,只能通过 ACS 管理门户为 标识提供程序配置电子邮件地址后缀。如果未配置后缀,则返回一个空数组。

下面的示例显示在为信赖方应用程序配置 Windows Live ID 和 AD FS 2.0 时的 JSON 馈送。用户已为 ACS 管理门户中的 Windows Live ID 设置了图像 URL,并为 标识提供程序添加了电子邮件域后缀。

note备注
为简洁起见,我们已添加了换行以提高可读性,并简化了 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”]
} ]

另请参阅

社区附加资源

添加
显示:
© 2015 Microsoft