TsgcTURNServer › イベント › OnSTUNRequestAuthorization
認証された要求が到着したときに発生します。受信するUsername/Realmに関連付けられたパスワードを提供してください。
property OnSTUNRequestAuthorization: TsgcSTUNRequestAuthorizationEvent;
// TsgcSTUNRequestAuthorizationEvent = procedure(Sender: TObject; const aRequest: TsgcSTUN_Message; const aUsername, aRealm: string; var Password: string) of object
—
認証済みの STUN バインディングリクエストおよびすべての TURN メソッド(ALLOCATE、REFRESH、CREATE-PERMISSION、CHANNEL-BIND、Send-Indication)について、受信 MESSAGE-INTEGRITY 属性が解析された後で検証される前に発生します。aUsername と aRealm はリクエストからデコードされます。TURN 長期認証情報の場合、レルムは TURNOptions.Authentication.LongTermCredentials.Realm と一致します。そのユーザーに関連付けられたパスワードを Password var パラメータに割り当ててください。サーバーは HMAC キーを計算し、計算された整合性値が一致しない場合はリクエストを受け入れるか、401 Unauthorized で応答します。ユーザーを拒否するには Password を空の文字列のままにします(これも 401 レスポンスになります)。このハンドラーは NotifyEvents が別のモードを選択しない限り、リスナースレッドで実行されます。短く、スレッドセーフに保ってください。
procedure TForm1.OnSTUNRequestAuthorization(Sender: TObject;
const aRequest: TsgcSTUN_Message; const aUsername, aRealm: string;
var Password: string);
begin
if (aUsername = 'user') and (aRealm = 'esegece.com') then
Password := 'password'
else
Password := '';
end;