3.7 单点登出协议
本博客采用知识共享署名 4.0 国际许可协议进行许可
单点登出协议提供了一种信息交换协议,通过该协议可以把由一个特定会话机构颁发的所有会话几乎同时注销掉。当主体从会话参与方注销、又或者直接从会话机构注销时,就会用到单点登出协议。当主体超时注销时,也可以使用该协议。注销事件的原因可以通过Reason
属性来进行说明。
主体可能已经与会话机构和单个会话参与方建立了经过身份认证的会话,基于会话机构提供的包含认证声明的断言。
当主体在会话参与方唤起单点登出流程时,会话参与方必须发送一个<LogoutRequest>消息给提供了包含与会话参与方的会话有关的认证声明的断言的会话机构。
当主体在会话机构唤起注销流程时,或者会话参与者向指定了主体的会话机构发送注销请求时,会话机构应该给每一个会话参与方(向会话机构发送注销请求的会话参与方除外)发送一个<LogoutRequest>消息,会话机构在其与主体的会话过程中为各个会话参与方提供过包含身份认证语句的断言。它应该尝试使用该协议联系尽可能多的会话参与方,终止自己与主体的会话,最后向请求的会话参与方(如果有)返回一条<LogoutResponse>消息。
译者(义臻)注:在单点登录的场景中,常常有很多的业务系统。我们假定有业务系统A、业务系统B、认证系统I。通常的情况是,用户通过系统I单点登录到系统A和B。此时,用户在A、B、I中都会存在一个会话(Session)。我们把系统I叫做Session Authority,我翻译成会话机构。把系统A和B叫做Session Participant,我翻译成会话参与方。
Last updated
Was this helpful?