Genellikle TURN Sunucuları, TURN istekleri için Kimlik Doğrulama İLE ve STUN istekleri için Kimlik Doğrulama olmadan yapılandırılır.
sgcWebSockets TURN Sunucusu Long-Term Credentials'ı destekler, böylece TsgcTURNServer'ı yalnızca Long-Term kimlik bilgileri içeren isteklere izin verecek şekilde yapılandırabilirsiniz.
Yapılandırmak için, TURNOptions.Authorization özelliğine erişin ve etkinleştirin.
Ardından LongTermCredentials özelliğine erişin ve onu etkinleştirin. Varsayılan olarak, bu tür yetkilendirme zaten bir Realm dizesi ve 10 dakikalık varsayılan bir StaleNonce değeri (= 600 saniye) ile yapılandırılmıştır.
oTURN := TsgcTURNServer.Create(nil);
oTURN.Port := 3478;
oTURN.STUNOptions.Authentication.Enabled := False;
oTURN.TURNOptions.Authentication.Enabled := True;
oTURN.TURNOptions.Authentication.LongTermCredentials.Enabled := True;
oTURN.TURNOptions.Authentication.LongTermCredentials.Realm := 'sgcWebSockets';
oTURN.TURNOptions.Authentication.LongTermCredentials.StaleNonce := 600;
oTURN.Active := True;
procedure OnSTUNRequestAuthorization(Sender: TObject; const aRequest: TsgcSTUN_Message;
const aUsername, aRealm: string; var Password: string);
begin
if (aUsername = 'my-user') and (aRealm = 'sgcWebSockets') then
Password := 'my-password';
end;