什么是 OpenID Connect Back-channel 注销中注销令牌中的 sid 声明?

Pir*_*jah 6 openid-connect

我目前正在处理一个与 OpenID Connect Back-channel 注销相关的项目。如规范中所述,我需要在注销令牌中包含 sid 作为声明。

sid- 可选。会话 ID - 会话的字符串标识符。这代表在 RP 处登录的最终用户的用户代理或设备的会话。不同的 sid 值用于标识 OP 中的不同会话。sid 值只需要在特定发行者的上下文中是唯一的。它的内容对 RP 是不透明的。其语法与 OAuth 2.0 客户端标识符相同。

从对 sid 的解释来看,我对它是否告诉 RP 的最终用户的 session-id 或 OP 的 RP 的 session-id 有一些困惑。

提前致谢。

dvs*_*gec 6

SID = 特定设备/用户代理等终端用户会话的唯一标识符。假设我从 Android 手机登录游戏应用程序,游戏应用程序使用 openID 并通过 Facebook 或 Google 进行身份验证。游戏应用程序启动用户代理并连接到 OpenID 提供程序。在这里进行身份验证,应用程序获取 ID 令牌(其中包含 SID)。游戏应用程序从 OpenID 提供者请求用户声明,然后在设备上创建一个会话,但发送用户信息以在游戏应用程序服务器(此处为 RP)上创建会话。

现在假设我在同一部手机或不同的手机上登录另一个应用程序并做了完全相同的事情。我现在登录了两个不同的应用程序,它们有自己的会话,但我将在 OP 进行两个会话。OP 将如何区分要杀死的会话。如果没有 SID,它将杀死所有会话,并且 SID 存在,只有那个会话可以被杀死。

这是我能给出的最简单的解释。其他一切都是如何实现的。