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

默认值

备注

每次经过身份验证的绑定请求触发一次,在传入的 MESSAGE-INTEGRITY 属性被解析之后、验证之前触发。aUsernameaRealm 从请求中解码(短期凭据的 realm 为空)。将与该用户关联的密码分配给 Password 变参数;然后服务器计算 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;

返回事件