6. 详细技术描述 (Detailed Technical Description)
6. 详细技术描述 (Detailed Technical Description)
本节详细说明 UA, Calling Service (CS) 和 Identity Provider (IdP) 之间的交互.
6.1 Identity Assertion 生成 (Identity Assertion Generation)
- UA 生成 DTLS certificate 和 fingerprint.
- UA 向 IdP 请求 identity assertion, 并提供其 fingerprint.
- IdP 对用户进行认证, 例如通过 login.
- IdP 签名一个 assertion, 将用户身份绑定到 fingerprint.
- IdP 将 assertion 返回给 UA.
6.2 Identity Assertion 验证 (Identity Assertion Verification)
- remote UA 接收 assertion (通过 signaling).
- remote UA 使用 IdP 验证 assertion, 例如获取 IdP 的 public key 或查询 API.
- remote UA 验证 assertion 中的 fingerprint 与 DTLS connection 的 fingerprint 匹配.
- 如果成功, UA 向用户显示已验证身份.
6.3 IdP Proxying
为处理 verifying UA 无法直接访问 IdP 的情况, 例如由于 firewalls 或 disjoint networks, 该 protocol 支持 IdP proxying, 即 verifying UA 将 verification request 委托给自己的 IdP 或 trusted proxy.