TsgcSTUNServer › Olaylar › OnSTUNRequestAuthorization
Bir Binding Request kimlik doğrulama gerektirdiğinde tetiklenir; gelen Username/Realm ile ilişkili parolayı sağlayın.
property OnSTUNRequestAuthorization: TsgcSTUNRequestAuthorizationEvent;
// TsgcSTUNRequestAuthorizationEvent = procedure(Sender: TObject; const aRequest: TsgcSTUN_Message; const aUsername, aRealm: string; var Password: string) of object
—
Kimlik doğrulamalı her Binding Request için, gelen MESSAGE-INTEGRITY özniteliği ayrıştırıldıktan sonra ancak doğrulanmadan önce bir kez tetiklenir. aUsername ve aRealm istekten çözülür (realm, kısa süreli kimlik bilgileri için boştur). O kullanıcıyla ilişkili parolayı Password var-parametresine atayın; sunucu daha sonra HMAC anahtarını hesaplar ve ya isteği kabul eder ya da hesaplanan bütünlük değeri eşleşmediğinde bir 401 Unauthorized yanıtıyla yanıt verir. Kullanıcıyı reddetmek için Password öğesini boş bir dize olarak bırakın, bu da bir 401 yanıtı verir. NotifyEvents başka bir mod seçmedikçe bu işleyici dinleyici iş parçacığında çalışır, kısa ve iş parçacığı güvenli tutun.
procedure TForm1.OnSTUNRequestAuthorization(Sender: TObject;
const aRequest: TsgcSTUN_Message; const aUsername, aRealm: string;
var Password: string);
begin
if SameText(aUsername, 'alice') then
Password := 'secret'
else
Password := '';
end;