TsgcSTUNServer이벤트 › OnSTUNRequestAuthorization

OnSTUNRequestAuthorization 이벤트

Binding Request에 인증이 필요할 때 발생합니다. 수신 Username/Realm과 연관된 비밀번호를 제공하십시오.

구문

property OnSTUNRequestAuthorization: TsgcSTUNRequestAuthorizationEvent;
// TsgcSTUNRequestAuthorizationEvent = procedure(Sender: TObject; const aRequest: TsgcSTUN_Message; const aUsername, aRealm: string; var Password: string) of object

기본값

설명

인증된 각 Binding Request마다 한 번, 들어오는 MESSAGE-INTEGRITY 속성이 파싱된 후 검증되기 전에 발생합니다. aUsernameaRealm은 요청에서 디코딩됩니다(short-term credential의 경우 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 SameText(aUsername, 'alice') then
    Password := 'secret'
  else
    Password := '';
end;

이벤트로 돌아가기