跳到主要内容

6. 详细技术描述 (Detailed Technical Description)

6. 详细技术描述 (Detailed Technical Description)

本节详细说明 UA, Calling Service (CS) 和 Identity Provider (IdP) 之间的交互.

6.1 Identity Assertion 生成 (Identity Assertion Generation)

  1. UA 生成 DTLS certificate 和 fingerprint.
  2. UA 向 IdP 请求 identity assertion, 并提供其 fingerprint.
  3. IdP 对用户进行认证, 例如通过 login.
  4. IdP 签名一个 assertion, 将用户身份绑定到 fingerprint.
  5. IdP 将 assertion 返回给 UA.

6.2 Identity Assertion 验证 (Identity Assertion Verification)

  1. remote UA 接收 assertion (通过 signaling).
  2. remote UA 使用 IdP 验证 assertion, 例如获取 IdP 的 public key 或查询 API.
  3. remote UA 验证 assertion 中的 fingerprint 与 DTLS connection 的 fingerprint 匹配.
  4. 如果成功, UA 向用户显示已验证身份.

6.3 IdP Proxying

为处理 verifying UA 无法直接访问 IdP 的情况, 例如由于 firewalls 或 disjoint networks, 该 protocol 支持 IdP proxying, 即 verifying UA 将 verification request 委托给自己的 IdP 或 trusted proxy.