2.9.3. 配置动态帐户 Chooser
如果一个服务提供商配置了多个身份提供程序,您可以将该服务提供商配置为提示用户选择用于验证其凭证的 IDP。要使用动态帐户选择器配置服务提供商,必须执行以下操作:
配置所有身份提供程序。
配置
WEB-INF/idpmap.properties文件。您需要创建一个
WEB-INF/idpmap.properties文件,该文件使用name=url列出所有可用身份供应商。WEB-INF/idpmap.properties示例Domain=http://localhost:8080/idp/ Domain-Alt=http://localhost:8080/idp-alt/创建帐户选择者登录页面。
要让用户选择要进行身份验证的身份提供商,您必须创建一个帐户选择者登录页面,并将其包含在您的服务提供商中。此页面应包含指向您希望允许其进行身份验证的所有身份供应商的链接。
accountChooser.html示例<html> <head>...</head> <body> <h1>Account Chooser</h1> <ul> <li><a href="?idp=Domain">Domain</a> <li><a href="?idp=Domain-Alt">Domain Alt</a> </ul> </body> </html>在 picket
link.xml 中配置IdentityURL元素。您还需要在 picket
link.xml中配置IdentityURL元素来引用帐户选择器登录页面。有关为服务提供商配置其余picketlink.xml的详情,请参考 设置 SP 部分。picket
link.xml示例<PicketLink xmlns="urn:picketlink:identity-federation:config:2.1"> <PicketLinkSP xmlns="urn:picketlink:identity-federation:config:2.1" BindingType="REDIRECT"> <IdentityURL> <Provider Page="/accountChooser.html"/> </IdentityURL> ... </PicketLinkSP> <Handlers xmlns="urn:picketlink:identity-federation:handler:config:2.1"> ... </Handlers> </PicketLink>您可以使用
Provider元素中提供的属性为动态帐户选择器配置附加选项。Expand 表 2.4. Provider Element Attributes 选项 类型 默认值 描述 页面
字符串
/accountChooser.html
用于列出不同 IDP 帐户的 HTML/JSP 页面名称。
过期
整数
-1
Cookie 到期时间以秒为单位。默认为
-1,这意味着 Cookie 在浏览器关闭时过期。DefaultURL
字符串
默认 IDP 的 URL。
域
字符串
发送到用户的浏览器的 cookie 的域名。
类型
字符串
用于替换默认实现的 IDP 映射的完全限定实施名称。此实现必须实施
org.picketlink.identity.federation.web.config.IdentityURLConfigurationProvider。默认实施使用 SP Web 应用程序中的WEB-INF/idpmap.properties文件。重要不支持使用 picket
link-federation子系统配置动态帐户选择器。