Openid connect OpenID连接会话管理中的会话状态

Openid connect OpenID连接会话管理中的会话状态,openid-connect,Openid Connect,我正在为现有的IDP开发OpenID连接会话管理。在规范中提到,我们应该将会话状态从RP发送到OP。我需要知道这里的会话状态到底是什么意思。此外,我还需要知道应该将什么作为salt值?此会话状态值是OP在原始登录时在身份验证响应中向RP提供的值。该值对于RP来说是不透明的,它只需要跟踪它,并在从RP iframe到OP的postMessage调用中将其发送回OP,以便OP可以关联它 如规范所述: 当OP支持会话管理时,它还必须将会话状态作为身份验证响应中的附加会话状态参数返回。OpenID Co

我正在为现有的IDP开发OpenID连接会话管理。在规范中提到,我们应该将会话状态从RP发送到OP。我需要知道这里的会话状态到底是什么意思。此外,我还需要知道应该将什么作为salt值?

此会话状态值是OP在原始登录时在身份验证响应中向RP提供的值。该值对于RP来说是不透明的,它只需要跟踪它,并在从RP iframe到OP的
postMessage
调用中将其发送回OP,以便OP可以关联它

如规范所述:

当OP支持会话管理时,它还必须将会话状态作为身份验证响应中的附加会话状态参数返回。OpenID Connect认证响应在OpenID Connect Core 1.0的第3.1.2.5节中有规定

此参数为:

会话状态

会话状态。JSON字符串,表示最终用户在OP上的登录状态。它不能包含空格(“”)字符。此值对RP是不透明的。如果支持会话管理,则需要此值。 会话状态值最初是在服务器上计算的。浏览器客户端中的OP iframe也会重新计算相同的会话状态值。第4.2节规定了适当会话状态值的生成,并基于客户端ID、源URL和OP浏览器状态的加密散列。对于源URL,服务器可以使用身份验证响应的源URL,遵循RFC 6454[RFC6454]第4节中指定的算法


'此会话状态值是由OP提供的。'据我所知,它应该是一个cookie。否则,我们如何分割它并从中获得盐值。我需要知道这里的盐值是多少。它只是一个随机值吗?如果OP支持会话管理,则在身份验证响应中将
session\u state
值作为查询参数返回。好的,但是session\u state值是什么?它是否包含OP被记录之类的数据,但RP无论如何都不会解释它;它对RP来说是“不透明的”,RP只需要将其传递回OP进行关联,是否有人给OP下定义?我想我把它和IDF的定义混淆了。