Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
private async authenticatePeer(peer: SimplePeer.Instance, peerId?: string) {
const peerPublicKey = peerId ? sodium.from_hex(peerId) : undefined
const userPublicKey = await mutualHandshake(peer, localUser().id, peerPublicKey)
if (!userPublicKey) {
const addr = `${(peer as any).remoteAddress}:${(peer as any).remotePort}`
peer.destroy()
throw new NetworkError(
NetworkErrorCode.PeerAuthenticationFailure,
`Failed to authenticate with peer [${addr}]`
)
}
const userId = sodium.to_hex(userPublicKey)
const netId = new NetUniqueId(userPublicKey)
const conn = new RTCPeerConn(netId, peer)
console.debug(`Authenticated peer ${userId}`, conn)
this.emit('connection', conn)
}
}
this.ready = initIdentity().then(keyPair => {
this.id = new NetUniqueId(keyPair.publicKey, keyPair.privateKey)
})
}