RF C 5389 допускает одну из двух форм аутентификации для серверов STUN:
... This section defines two mechanisms for STUN that a client and server
can use to provide authentication and message integrity; these two
mechanisms are known as the short-term credential mechanism and the
long-term credential mechanism. These two mechanisms are optional,
and each usage must specify if and when these mechanisms are used.
Consequently, both clients and servers will know which mechanism (if
any) to follow based on knowledge of which usage applies. For
example, a STUN server on the public Internet supporting ICE would
have no authentication, whereas the STUN server functionality in an
agent supporting connectivity checks would utilize short-term credentials.
Наиболее популярный сервер STUN, скорее всего, доступен на stun: stun.l.google.com: 19302 и явно не требует никаких полномочий.
iceServer предоставляются RTCPeerConnection через такие объекты, как:
myPeerConnection = new RTCPeerConnection({
iceServers: [
{
urls: "turn:turnserver.example.org",
username: "webrtc",
credential: "turnpassword"
}
]
});
Мой вопрос: при отправке запроса на сервер STUN, как обработка ICE создает запрос STUN? Используются ли краткосрочные или долгосрочные учетные данные? Является ли свойство credentialType , которое, по моему мнению, интерпретируется как краткосрочное или долгосрочное? И как сервер STUN узнает, какой процесс (краткосрочный или долгосрочный) был использован для создания запроса на сообщение. Если он не знает об этом, он не может аутентифицировать запрос, если процесс не является тем же. В таком случае, почему различают guish между двумя.