RTCPeerConnection: peerIdentity 属性

RTCPeerConnection 接口的只读属性 peerIdentity 返回一个 JavaScript Promise,该 Promise 解析为一个 RTCIdentityAssertion 对象,其中包含一个用于标识远程对等点的字符串。一旦此 Promise 成功解析,所得的身份即为目标对等点身份,并且在连接期间无法更改。

一个 JavaScript Promise,它解析为一个 RTCIdentityAssertion 对象,该对象描述了远程对等点的身份。

如果在尝试验证传入的身份断言(即描述对等点身份的信息)时发生错误,则 Promise 会被拒绝。如果尚无目标对等点身份,则 peerIdentity 会被设置为一个新的 Promise,然后重新开始该过程,直到该过程成功或不再进行身份验证尝试。

注意: setRemoteDescription() 返回的 Promise 在已设置的任何目标对等点身份得到验证之前,无法解析。如果身份尚未得到验证,则 setRemoteDescription() 返回的 Promise 将被拒绝。如果不存在目标对等点身份,则 setRemoteDescription() 在解析之前无需等待验证发生。

示例

在此示例中,创建了一个名为 getIdentityAssertion() 的函数,该函数异步等待对等点的身份得到验证,然后将该身份返回给调用者。如果发生错误并且 Promise 被拒绝,则会将错误记录到控制台,并将 null 返回给调用者。

js
let pc = new RTCPeerConnection();

// …

async function getIdentityAssertion(pc) {
  try {
    const identity = await pc.peerIdentity;
    return identity;
  } catch (err) {
    console.log("Error identifying remote peer: ", err);
    return null;
  }
}

规范

规范
WebRTC 1.0 的身份
# dom-rtcpeerconnection-peeridentity

浏览器兼容性

另见