CIBA 规范要求的澄清

Clarificaton required on CIBA Spec

我正在查看 [1]CIBA (https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html#OpenID.Core) 规范,无法理解什么是 user_code 以及需要如何为 CIBA 部署它。

"User code is a mechanism to prevent unsolicited authentication requests from appearing on a user's authentication device. "

规范是这样开始的with.See 7.1.2 节了解更多。

如果有人能解释此功能以及如何从身份服务器的角度支持它,将会很有帮助!!

这可能有点晚了,但我希望它能对未来的读者有所帮助。 user_code 机制是为了防止不需要的 CIBA 请求出现在最终用户的授权设备 (AD) 上。在某些情况下,使用 CIBA 授权服务器 (OP) 的依赖方 (RP) 或客户端应用程序可能知道最终用户的标识符,从而导致最终用户当前不知道的后续请求。因此,作为预防措施,必须在 CIBA 请求开始之前提供 user_code,在 AD 中执行其操作等。这是为了确保在最终用户的 AD 上弹出的 CIBA 请求确实是 "wanted" 或者我应该说是在最终用户有意识的情况下。

user_code 的结构类似于密码。这是一个秘密,只有最终用户才知道...但它应该不是密码。

所以对于实现方面,粗略的方法可能如下所示:

  1. 注册客户端应用以支持user_code
  2. 确保相应的用户帐户具有 user_code
  3. 在 CIBA 请求之前,客户端应用程序需要要求最终用户输入 user_code
  4. 所提供的 user_code 将随身份验证请求一起传递,即初始 CIBA 请求
  5. 授权服务器(OP)验证请求参数,确保user_code对选择的用户有效
  6. 按照规范继续流程的其余部分...