[17.0.0.4 and later]

Liberty 的社交媒体选择表单

如果已配置多个社交媒体提供者来保护请求,那么 WebSphere® Application Server Liberty 会提供缺省的社交媒体选择表单。此表单允许您在 Liberty 服务器中配置的可用提供者之间进行选择,以针对受保护的资源请求认证您自己。

出现在缺省选择表单上的选项仅限配置为保护原始资源请求的提供者。任何未配置为保护原始请求的提供者都不会显示为选项。此外,如果仅配置了一个提供者来保护特定请求,那么不会显示选择页面。您会自动重定向至该提供者进行认证。

配置认证表单以用于受多个提供者保护的端点

在以下示例中,facebookLogintwitterLogin 元素配置为保护所有请求,因为它们未指定认证过滤器引用。githubLogin 元素配置为使用认证过滤器引用来保护 helloworld 端点。有关配置认证过滤器的更多信息,请参阅认证过滤器

<facebookLogin clientId="..." clientSecret="..." />
<twitterLogin consumerKey="..." consumerSecret="..." />
<githubLogin clientId="..." clientSecret="..." authFilterRef="filter_helloworld" />
<authFilter id="filter_helloworld">
  <requestUrl id="myRequestUrl" urlPattern="helloworld" matchType="contains" />
</authFilter>

假定 Liberty 服务器提供了位于 /acme 端点的 Web 应用程序。当您尝试访问 /acme 端点时,您会看到包含 Facebook 和 Twitter 选项的缺省选择页面。Facebook 和 Twitter 保护所有端点,因此作为认证选项包括在选择页面中。GitHub 提供者未配置为保护此端点,因此排除在此请求的选择表单之外。

接下来,假定服务器提供了位于 /helloworld 端点的 Web 应用程序。当您尝试访问 /helloworld 端点时,您会看到包含 Facebook、Twitter 和 GitHub 选项的缺省选择页面。类似于第一个示例,Facebook 和 Twitter 保护所有端点,因此作为认证选项包括在选择页面中。GitHub 配置为保护此特定端点,因此作为认证选项包括在内。

配置认证表单以用于受单个提供者保护的端点

在以下示例中,Facebook 和 Twitter 登录配置已移除,因此不存在保护所有端点的社交媒体提供者。添加新的 linkedinLogin 元素,用于保护 helloworld 端点。同样,添加新的 googleLogin 元素,并将其配置为保护 snoop 端点。

<githubLogin clientId="..." clientSecret="..." authFilterRef="filter_helloworld" />
<linkedinLogin clientId="..." clientSecret="..." authFilterRef="filter_helloworld" />
<googleLogin clientId="..." clientSecret="..." authFilterRef="filter_snoop" />
<authFilter id="filter_helloworld">
   <requestUrl id="myRequestUrl" urlPattern="helloworld" matchType="contains" />
</authFilter>
<authFilter id="filter_snoop">
   <requestUrl id="myRequestUrl" urlPattern="snoop" matchType="contains" />
</authFilter>

当您尝试访问 helloworld 端点时,您会看到包含 GitHub 和 LinkedIn 选项的缺省选择页面。GitHub 和 LinkedIn 配置为保护此特定端点,因此作为认证选项包括在内。但是,Google 未配置为保护此端点,因此并非此请求的选项。

接下来,假定服务器提供了位于 snoop 端点的 Web 应用程序。当您尝试访问 snoop 端点时,您会重定向到 Google,而不会显示选择,因为 Google 是唯一配置为保护此端点的提供者。

注: 对于 socialLogin-1.0 功能部件,缺省社交媒体选择表单可能无法在 Windows Server 2012 操作系统上的 Internet Explorer 中正常运行。当您选择提供者并提交该表单时,Internet Explorer 可能会提交所显示的按钮文本作为缺省值,而非提交针对该按钮配置的 HTML 值。因此,您可能需要使用其他 Web 浏览器。除 Internet Explorer 之外的浏览器可以正确处理缺省选择表单。

用于指示主题类型的图标 概念主题

文件名:cwlp_sec_social_form.html