导出 (0) 打印
全部展开

登录页面和主领域发现

发布时间: 2011年4月

更新时间: 2014年2月

应用到: 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 应替换为 ACS 服务命名空间的名称。此外,此 URL 需要以下参数:

  • wa — 设置为 wsignin1.0

  • wtrealm — 设置为您在 ACS 管理门户中为信赖方应用输入的领域。

通过完成以下步骤,您可以找到所有信赖方应用的确切登录页链接:

  1. 启动 ACS 管理门户。有关详细信息,请参阅 ACS 管理门户

  2. 单击“开发”部分下左侧树中的“应用程序集成”,然后在“应用程序集成”页上,单击“登录页”链接。

  3. 单击要为其查看确切登录页链接的信赖方应用。

    您将重定向到“登录页集成:<relying_party_application_name>”页,其中 <relying_party_application_name> 是信赖方应用的名称。您可以在“选项 1:指向 ACS 所承载登录页的链接”下的文本框中找到信赖方应用的确切登录页链接。

下图显示了已配置 Windows Live ID、Google、Yahoo!、Facebook 和 WS 联合身份验证标识提供者 (Contoso Corp.) 的默认登录页外观。

ACS 2.0 登录页

如果您在 ACS 管理门户中为 WS 联合身份验证标识提供者添加了电子邮件地址后缀,则会显示一个电子邮件地址输入框,而不是用于该标识提供者的按钮。下图显示了这种情况。如果为信赖方应用配置了大量 WS 联合身份验证标识提供者,这可能非常有用。

ACS 2.0 登录页

为加快 ACS 与信赖方应用的集成,建议使用 ACS 承载的默认登录页。若要自定义此页面的布局和外观,您可以将默认登录页另存为 HTML 文件,并将 HTML 和 JavaScript 复制到可以对其进行自定义的应用程序。

若要实现完全控制联合登录页的外观、行为和位置,ACS 为标识提供者提供了使用 JSON 进行编码的元数据源,该元数据源带有名称、登录 URL、图像和电子邮件域名(仅限 )。该源称为主领域发现元数据源。

通过完成以下步骤,您可以为每个信赖方应用程序下载示例 HTML 登录页:

  1. 启动 ACS 管理门户。有关详细信息,请参阅 ACS 管理门户

  2. 单击“开发”部分下左侧树中的“应用程序集成”,然后在“应用程序集成”页上,单击“登录页”链接。

  3. 单击要为其查看确切登录页链接的信赖方应用。

    您将重定向到“登录页集成:<relying_party_application_name>”页,其中 <relying_party_application_name> 是信赖方应用的名称。

  4. 单击“选项 2:将登录页作为应用程序的一部分承载”下的“下载示例登录页”

示例 HTML 代码与 ACS 承载的登录页 HTML 代码相同。

此页面在 HTML 代码和 JavaScript 函数底部附近使用脚本标记调用该元数据源,以呈现上面所示的页面。自定义登录页可通过使用纯客户端 HTML 和 JavaScript 来使用元数据(如示例所示),不过该源还可以由支持 JSON 编码的任何语言使用以呈现自定义登录控件。

通过完成以下步骤,您可以查看所有信赖方应用的确切主领域发现元数据源 URL:

  1. 启动 ACS 管理门户。有关详细信息,请参阅 ACS 管理门户

  2. 单击“开发”部分下左侧树中的“应用程序集成”,然后在“应用程序集成”页上,单击“登录页”链接。

  3. 单击要为其查看确切登录页链接的信赖方应用。

    您将重定向到“登录页集成:<relying_party_application_name>”页,其中 <relying_party_application_name> 是信赖方应用的名称。

该 URL 位于“选项 2:将登录页作为应用程序的一部分承载”之下。

以下是一个示例 HRD 源 URL。

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

此 URL 使用以下参数:

  • YourNamespace — 必需。设置为 Windows Azure AppFabric 服务命名空间的名称。

  • protocol — 必需。这是信赖方应用用来与 ACS 通信的协议。在 ACS 中,该值必须设置为 wsfederation

  • realm — 必需。这是您在 ACS 管理门户中为信赖方应用指定的领域。

  • version — 必需。在 ACS 中,该值必须设置为 1.0。

  • reply_to — 可选。这是您在 ACS 管理门户中为信赖方应用指定的返回 URL。如果忽略,则返回 URL 将设置为在 ACS 管理门户中为信赖方应用配置的默认值。

  • context — 可选。这是可以在令牌中传回信赖方应用的任何其他上下文。ACS 无法识别这些内容。

  • callback — 可选。您可以将此参数设置为要在加载 JSON 源时运行的 JavaScript 函数的名称。JSON 源字符串是传递到此函数的参数。

当如上所述通过有效的参数请求该元数据源时,响应是包含一组 JSON 编码的数组的文档,其中每个内部数组表示一个带有以下字段的标识提供者:

  • Name — 标识提供者的用户可读显示名称。

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

  • LogoutUrl — 此 URL 允许用户注销他们已登录的标识提供者。目前仅 和 Windows Live ID 支持此字段,对于其他标识提供者,此字段为空。

  • 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”]
} ]

另请参阅

社区附加资源

添加
显示:
© 2014 Microsoft