OpenID Connect前端登出:无用户会话或会话不匹配时的处理方式
OpenID前端登出(Front-Channel Logout)异常场景处理
- 场景1:HTTP会话无登录用户,但登出请求有效(
id_token_hint可识别)
OP需确认id_token_hint关联的会话记录存在但未绑定当前HTTP会话,此时执行后台会话清理——删除该id_token_hint对应的所有存储会话(包括关联的RP会话)。若请求中包含合规的post_logout_redirect_uri,重定向至该地址;若无,返回无内容的成功响应(204状态码),无需向用户展示任何提示。 - 场景2:HTTP会话无登录用户,且登出请求无效(
id_token_hint已过期或不可识别)
OP直接忽略该请求,不执行任何会话操作。若请求包含合规的post_logout_redirect_uri,重定向至该地址;若无,返回204状态码即可,避免向用户输出错误信息引发混淆。 - 场景3:用户已登录,但登出请求的
id_token_hint与当前用户不匹配
OP需拒绝处理该请求,不得清理当前用户的活跃会话。若请求包含post_logout_redirect_uri,重定向至该地址并携带错误参数(如error=invalid_request、error_description=id_token_hint does not match authenticated user);若无,返回400 Bad Request状态码并在响应体中明确错误原因,同时保留用户当前登录状态。
内容的提问来源于stack exchange,提问作者user871611
相关产品推荐
相关产品推荐

