TsgcWSPClient_MQTT › 方法 › Auth
发送 MQTT 5.0 AUTH 包,以执行或继续与 broker 的增强身份验证。
procedure Auth(aReAuthenticate: Boolean; aAuthProperties: TsgcWSMQTTAuth_Properties = nil);
| 名称 | 类型 | 描述 |
|---|---|---|
aReAuthenticate | Boolean | 为 True 时,在已连接的会话上触发重新身份验证;为 False 时,在初始质询/响应握手过程中发送 AUTH 数据包。 |
aAuthProperties | TsgcWSMQTTAuth_Properties | 可选的 MQTT 5.0 AUTH 属性(身份验证方法、身份验证数据、原因字符串、用户属性)。传入 nil 可重用组件上配置的值。 |
仅适用于协商了增强身份验证方法(如 SCRAM 或 Kerberos)的 MQTT 5.0 会话。代理通过 OnMQTTAuth 事件回复,应用程序在该事件中提供下一个身份验证数据块,直到交换成功或失败。在 MQTT 3.1.1 连接上调用 Auth 没有效果。
oAuthProps := TsgcWSMQTTAuth_Properties.Create;
try
oAuthProps.AuthenticationMethod := 'SCRAM-SHA-256';
oAuthProps.AuthenticationData := vClientFinalMessage;
MQTT.Auth(False, oAuthProps);
finally
oAuthProps.Free;
end;