STS IdP
Higgins安全令牌服务(STS)IdP解决方案是一个可扩充和可适应的解决方案,这个方案实现了OASIS WS-Trust标准并且为在多样方案的部署提供了支持。从依赖方可消费数字身份到要求数据的创建过程。
注:在Higgins项目中,我们有时用“Token Service-令牌服务”,代替通常的“安全令牌服务-STS”叫法
版本
适用于1.0及1.1版本
运行实例
一个部署了的运行实例:https://higgins.eclipse.org/TokenService/index.html
部署者的角度
下载
下载war.zip,解压,部署 这里
部署
Deploy Token Service 暂时没翻译
开发者的角度
架构
要求数据(Claim Data)既可以在客户端编码以“推”方式到Token Service进而转向到Token Provider,Token Issuer也可以用“拉”方式将要求数据从I-Crad Provider中拉出
这个框架包括:
- 核心引擎组件的一个Java实现的和描述组件的插入点的一系列Java接口
- 平台特定绑定(platform specific bindings)的一系列java,例如Axis 1.x
- 安全令牌扩展的一系列java实现,例如SAML1.1
- 一个web应用,可以帮助数字资料的注册和管理
这个框架也需要依赖Higgins Identity Attribute Service (IdAS)身份属性服务和一个或多个Context Providers (CPs)语境提供商。
核心引擎组件可通过API进行配置;典型的调用通过绑定组件 来实现。核心引擎负责安全令牌扩展 和语境提供商的装载和配置,语境提供商在IdAS中注册。当接收到“安全令牌请求-Request Security Token (RST) ”,核心引擎会经由一个IdAs从CP中取回一个数字主题 (digital subjec)。需要注意的是,由于现阶段实现的限制,造成取回数字主题的响应会放置在令牌扩展中。
绑定组件 负责装载和配置核心引擎、接受包含RST的消息(通过SOAP或者其他方式)、对入境消息执行平台特定的处理过程(例如WS-Security, WS-SecurityPolicy, WS-Addressing)、将接收到的消息转换成平台独立的表示(STSRequset)、调用核心引擎去处理请求、将平台独立响应(STSResponse)转换成平台依赖的表示、对出境响应执行平台特定的处理过程,继而将相应返回至请求。需要注意的是,有一些应用可能会直接调用核心引擎,实质上是提供他们自己的绑定组件。
令牌扩展 由句柄类组成,这些可以通过API来进行配置;典型的调用通过核心引擎自己的配置来实现。令牌扩展负责处理接收来的STSRequest消息和生成STSResponse消息。在大多数情况下,核心引擎可以通过扩展自己的配置决定哪一个扩展处理哪一个消息。但是某些情况下,核心引擎可能不能决定哪一个句柄应该处理某个消息,那么句柄可能会被放进序列中来决定哪个应该处理这条消息。
数字主题概要 管理web应用,意在提供一个CP独立途径来管理用户资料。可以创建、修改(添加/删除身份属性)、删除用户资料。此外,Microsoft CardSpace兼容Information Card可能被生成与哪一个数字主题关联(例如用户名/密码,自签名的SAML断言)
以上这些组件作为参照实现的一部分,这些组件中的任何一个都可以被其他实现替换,只要这个实现提供了适当的接口和操作语义。这个参考实现不断发展以能够适应新的需求和部署方案
下附以前的架构图