我正在为现有的IDP开发OpenID连接会话管理.在规范中它提到我们应该将会话状态从RP发送到OP.我需要知道会话状态的真正含义.另外我需要知道我应该采取什么样的盐值?
该会话状态值是 OP 在原始登录时在身份验证响应中向 RP 提供的内容。该值对于 RP 来说是不透明的,它只需要跟踪它并在postMessage从 RP iframe 到 OP 的调用中将其发送回 OP,以便 OP 可以将其关联起来。
正如规范在http://openid.net/specs/openid-connect-session-1_0.html#CreatingUpdatingSessions中所述:
当 OP 支持会话管理时,它还必须返回会话状态作为身份验证响应中的附加 session_state 参数。OpenID Connect 身份验证响应在 OpenID Connect Core 1.0 的第 3.1.2.5 节中指定。
这个参数是:
session_state
会话状态。表示最终用户在 OP 的登录状态的 JSON 字符串。它不得包含空格 (" ") 字符。该值对于 RP 来说是不透明的。如果支持会话管理,则这是必需的。会话状态值最初是在服务器上计算的。浏览器客户端中的 OP iframe 也会重新计算相同的会话状态值。合适的会话状态值的生成在第 4.2 节中指定,并且基于客户端 ID、原始 URL 和 OP 浏览器状态的加盐加密哈希。对于原始 URL,服务器可以使用身份验证响应的原始 URL,遵循 RFC 6454 [RFC6454] 第 4 节中指定的算法。
| 归档时间: |
|
| 查看次数: |
4658 次 |
| 最近记录: |