5.2. 配置 PicketLink STS


PicketLink STS 定义了几个接口来提供扩展功能,实现可以通过配置进行插入,一些属性的默认值也可以通过配置来指定。所有的 PicketLink STS 配置都必须在 picketlink-sts.xml 文件里指定。下面是可以在 picketlink-sts.xml 文件里进行配置的元素。

注意

在下面的文本里,服务提供者引用要求客户出示安全令牌的 Web 服务。
  • PicketLinkSTS:这是根元素。它定义允许 STS 管理者设置下列值的属性:
    • STSName:代表安全令牌服务名称的字符串。如果没有指定,默认值 PicketLinkSTS 将被使用。
    • TokenTimeout:以秒为单位的令牌生命周期。如果没有指定,默认值3600(1小时)将被使用。
    • EncryptToken:布尔值,指定发出的令牌是否加密。默认值为 false。
  • KeyProvider:这个元素及其子元素配置 PicketLink STS 用来签注和加密令牌的密钥库。密钥库位置、密码和签注(私有密钥)别名和密码等属性都可以在这个部分进行配置。
  • RequestHandler:这个元素指定要使用的 WSTrustRequestHandler 实现的权限定名。如果没有指定,默认值 org.picketlink.identity.federation.core.wstrust.StandardRequestHandler 将被使用。
  • SecurityTokenProvider:这个部分指定必需用来处理每种安全令牌的 SecurityTokenProvider 实现。在这个例子里,我们有两个提供者 - 一个处理类型为 SpecialToken 的令牌而另外一个处理类型为 StandardToken 的令牌。WSTrustRequestHandler 调用 STSConfigurationgetProviderForTokenType(String type) 方法来获得对合适的 SecurityTokenProvider 的引用。
  • TokenTimeout:当在 WS-Trust 请求里没有指定生命周期时,WSTrustRequestHandler 使用它。它创建一个以当前时间为创建时间且在指定的时间后过期的 Lifetime 实例。
  • ServiceProviders:这个部分指定必须用于每个服务提供者(要求安全令牌的 Web 服务)的令牌类型。当 WS-Trust 请求没有包含令牌类型时,WSTrustRequestHandler 必须使用服务提供者端点来确定要发出的令牌的类型。
  • EncryptTokenWSTrustRequestHandler 用它来决定发出的令牌是否必须加密。如果为 true,服务提供者的公共密钥证书(PKC)将被用来加密这个令牌。
下面是一个 PicketLink STS 配置的例子。

例 5.3. PicketLink STS 配置

    <PicketLinkSTS xmlns="urn:picketlink:identity-federation:config:1.0"  
         STSName="Test STS" TokenTimeout="7200" EncryptToken="true">  
         <KeyProvider ClassName="org.picketlink.identity.federation.bindings.tomcat.KeyStoreKeyManager">  
              <Auth Key="KeyStoreURL" Value="keystore/sts_keystore.jks"/>   
                <Auth Key="KeyStorePass" Value="testpass"/>  
                <Auth Key="SigningKeyAlias" Value="sts"/>  
                <Auth Key="SigningKeyPass" Value="keypass"/>  
                <ValidatingAlias Key="http://services.testcorp.org/provider1" Value="service1"/>  
                <ValidatingAlias Key="http://services.testcorp.org/provider2" Value="service2"/>  
         </KeyProvider>  
         <RequestHandler>org.picketlink.identity.federation.core.wstrust.StandardRequestHandler</RequestHandler>  
         <TokenProviders>  
              <TokenProvider ProviderClass="org.picketlink.test.identity.federation.bindings.wstrust.SpecialTokenProvider"  
                   TokenType="http://www.tokens.org/SpecialToken"/>  
              <TokenProvider ProviderClass="org.picketlink.identity.federation.api.wstrust.plugins.saml.SAML20TokenProvider"  
                   TokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0"/>  
         </TokenProviders>  
         <ServiceProviders>  
              <ServiceProvider Endpoint="http://services.testcorp.org/provider1" TokenType="http://www.tokens.org/SpecialToken"  
                   TruststoreAlias="service1"/>  
              <ServiceProvider Endpoint="http://services.testcorp.org/provider2" TokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0"  
                   TruststoreAlias="service2"/>  
         </ServiceProviders>  
    </PicketLinkSTS>  

Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat