Add support for extended authentication exchange.

This commit is contained in:
Christian Kratky
2019-05-26 23:44:50 +02:00
parent c90b5f6fb2
commit 396f040aae
29 changed files with 289 additions and 57 deletions
@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using MQTTnet.Packets;
using MQTTnet.Protocol;
namespace MQTTnet.Client.ExtendedAuthenticationExchange
{
public class MqttExtendedAuthenticationExchangeContext
{
public MqttExtendedAuthenticationExchangeContext(MqttAuthPacket authPacket, IMqttClient client)
{
if (authPacket == null) throw new ArgumentNullException(nameof(authPacket));
ReasonCode = authPacket.ReasonCode;
ReasonString = authPacket.Properties?.ReasonString;
AuthenticationMethod = authPacket.Properties?.AuthenticationMethod;
AuthenticationData = authPacket.Properties?.AuthenticationData;
UserProperties = authPacket.Properties?.UserProperties;
Client = client ?? throw new ArgumentNullException(nameof(client));
}
public MqttAuthenticateReasonCode ReasonCode { get; }
public string ReasonString { get; }
public string AuthenticationMethod { get; }
public byte[] AuthenticationData { get; }
public List<MqttUserProperty> UserProperties { get; }
public IMqttClient Client { get; }
}
}