Skip to content

Commit

Permalink
move WithHubCredentials (#99)
Browse files Browse the repository at this point in the history
Co-authored-by: ridomin <[email protected]>
  • Loading branch information
rido-min and ridomin authored Mar 14, 2023
1 parent 61037a8 commit 1cd5ad4
Show file tree
Hide file tree
Showing 12 changed files with 39 additions and 39 deletions.
2 changes: 1 addition & 1 deletion samples/iothub-sample/Device.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public Device(ILogger<Device> logger, IConfiguration configuration)

protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
var connectionSettings = new ConnectionSettings(_configuration.GetConnectionString("cs"));
var connectionSettings = new ConnectionSettings(_configuration.GetConnectionString("cs1"));
_logger.LogWarning("Connecting to: {connectionSettings}", connectionSettings);

var client = new HubMqttClient(await HubDpsFactory.CreateFromConnectionSettingsAsync(connectionSettings, stoppingToken));
Expand Down
8 changes: 4 additions & 4 deletions samples/iothub-sample/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ public class Program
public static void Main(string[] args)
{

//using (var consoleListener = new ConsoleTraceListener())
//{
// Trace.Listeners.Add(consoleListener);
//}
using (var consoleListener = new ConsoleTraceListener())
{
Trace.Listeners.Add(consoleListener);
}

CreateHostBuilder(args).Build().Run();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Text;

namespace MQTTnet.Extensions.MultiCloud.Connections;
namespace MQTTnet.Extensions.MultiCloud.AzureIoTClient.Connections;

internal class SasAuth
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using MQTTnet.Client;
using MQTTnet.Extensions.MultiCloud.AzureIoTClient.Connections;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
using MQTTnet.Client;
using MQTTnet.Extensions.MultiCloud.AzureIoTClient.Connections;

namespace MQTTnet.Extensions.MultiCloud.Connections;

public static partial class MqttNetExtensions
{
internal static MqttClientOptionsBuilder WithAzureIoTHubCredentials(this MqttClientOptionsBuilder builder, ConnectionSettings? cs)
public static MqttClientOptionsBuilder WithAzureIoTHubCredentials(this MqttClientOptionsBuilder builder, ConnectionSettings? cs)
{
string? hostName = cs!.HostName!;
if (!string.IsNullOrEmpty(cs.GatewayHostName))
Expand All @@ -30,7 +31,9 @@ internal static MqttClientOptionsBuilder WithAzureIoTHubCredentials(this MqttCli
}

builder.WithTlsSettings(cs);
return builder.WithAzureIoTHubCredentialsSas(hostName, cs.DeviceId!, cs.ModuleId!, cs.HostName!, cs.SharedAccessKey!, cs.ModelId!, cs.SasMinutes, cs.GatewayHostName!);
builder.WithAzureIoTHubCredentialsSas(hostName, cs.DeviceId!, cs.ModuleId!, cs.HostName!, cs.SharedAccessKey!, cs.ModelId!, cs.SasMinutes, cs.GatewayHostName!);
builder.WithClientId(cs.ClientId);
return builder;
}
else if (cs?.Auth == AuthType.X509)
{
Expand All @@ -49,7 +52,9 @@ internal static MqttClientOptionsBuilder WithAzureIoTHubCredentials(this MqttCli
}

builder.WithTlsSettings(cs);
return builder.WithAzureIoTHubCredentialsX509(hostName, cs.ClientId!, cs.ModelId!);
builder.WithAzureIoTHubCredentialsX509(hostName, cs.ClientId!, cs.ModelId!);
builder.WithClientId(cs.ClientId);
return builder;
}
else
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public static async Task<IMqttClient> CreateFromConnectionSettingsAsync(Connecti
}
else
{
connAck = await mqtt!.ConnectAsync(new MqttClientOptionsBuilder().WithConnectionSettings(cs).Build(), cancellationToken);
connAck = await mqtt!.ConnectAsync(new MqttClientOptionsBuilder().WithAzureIoTHubCredentials(cs).Build(), cancellationToken);
}
if (connAck.ResultCode != MqttClientConnectResultCode.Success)
{
Expand All @@ -53,7 +53,7 @@ private static MqttClientConnectResult ConnectWithTimer(IMqttClient mqtt, Connec
Trace.TraceInformation("Reconnecting before SasToken expires");
var connAck = mqtt.ConnectAsync(
new MqttClientOptionsBuilder()
.WithConnectionSettings(connectionSettings)
.WithAzureIoTHubCredentials(connectionSettings)
.WithKeepAlivePeriod(TimeSpan.FromSeconds(connectionSettings.KeepAliveInSeconds))
.Build(),
cancellationToken).Result;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
using System.Runtime.CompilerServices;

[assembly: InternalsVisibleTo("MQTTnet.Extensions.MultiCloud.UnitTests")]
[assembly: InternalsVisibleTo("MQTTnet.Extensions.MultiCloud.UnitTests")]
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,21 @@ public static partial class MqttNetExtensions
{
public static MqttClientOptionsBuilder WithConnectionSettings(this MqttClientOptionsBuilder builder, ConnectionSettings cs, bool withLWT = false)
{
if (cs.HostName != null && cs.HostName.Contains("azure-devices.net"))
builder
.WithTimeout(TimeSpan.FromSeconds(30))
.WithTcpServer(cs.HostName, cs.TcpPort)
.WithKeepAlivePeriod(TimeSpan.FromSeconds(cs.KeepAliveInSeconds))
.WithCleanSession(cs.CleanSession)
.WithTlsSettings(cs);

if (!string.IsNullOrEmpty(cs.Password))
{
builder.WithAzureIoTHubCredentials(cs);
builder.WithCredentials(cs.UserName, cs.Password);
}
else

if (cs.ClientId == "{machineName}")
{
builder
.WithTimeout(TimeSpan.FromSeconds(30))
.WithTcpServer(cs.HostName, cs.TcpPort)
.WithKeepAlivePeriod(TimeSpan.FromSeconds(cs.KeepAliveInSeconds))
.WithCleanSession(cs.CleanSession)
.WithTlsSettings(cs);

if (!string.IsNullOrEmpty(cs.Password))
{
builder.WithCredentials(cs.UserName, cs.Password);
}

if (cs.ClientId == "{machineName}")
{
cs.ClientId = Environment.MachineName;
}
cs.ClientId = Environment.MachineName;
}

builder.WithClientId(cs.ClientId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ namespace MQTTnet.Extensions.MultiCloud.Connections;

public static partial class MqttNetExtensions
{
internal static MqttClientOptionsBuilder WithTlsSettings(this MqttClientOptionsBuilder builder, ConnectionSettings cs)
public static MqttClientOptionsBuilder WithTlsSettings(this MqttClientOptionsBuilder builder, ConnectionSettings cs)
{
var tls = new MqttClientOptionsBuilderTlsParameters
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

namespace MQTTnet.Extensions.MultiCloud.Connections;

internal class X509ClientCertificateLocator
public class X509ClientCertificateLocator
{
public static X509Certificate2 Load(string certSettings)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

namespace MQTTnet.Extensions.MultiCloud.Connections;

internal static class X509CommonNameParser
public static class X509CommonNameParser
{
public static string GetCNFromCertSubject(X509Certificate2 cert)
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using MQTTnet.Client;
using MQTTnet.Extensions.MultiCloud.Connections;
using MQTTnet.Extensions.MultiCloud.AzureIoTClient.Connections;
using System.Text;

namespace MQTTnet.Extensions.MultiCloud.IntegrationTests
Expand All @@ -23,7 +24,7 @@ public async Task DeviceSas()

};
var connAck = await client!.ConnectAsync(new MqttClientOptionsBuilder()
.WithConnectionSettings(cs)
.WithAzureIoTHubCredentials(cs)
.Build());
Assert.Equal(MqttClientConnectResultCode.Success, connAck.ResultCode);
Assert.True(client.IsConnected);
Expand All @@ -41,7 +42,7 @@ public async Task ModuleSas()
SharedAccessKey = "py0vifQWT7QGK4AiDO3IlreGsvXrLet+sKZnErKMkAk="
};
var connAck = await client!.ConnectAsync(new MqttClientOptionsBuilder()
.WithConnectionSettings(cs)
.WithAzureIoTHubCredentials(cs)
.Build());
Assert.Equal(MqttClientConnectResultCode.Success, connAck.ResultCode);
Assert.True(client.IsConnected);
Expand All @@ -57,7 +58,7 @@ public async Task DeviceCert()
X509Key = "ca-device.pem|ca-device.key"
};
var connAck = await client!.ConnectAsync(new MqttClientOptionsBuilder()
.WithConnectionSettings(cs)
.WithAzureIoTHubCredentials(cs)
.Build());
Assert.Equal(MqttClientConnectResultCode.Success, connAck.ResultCode);
Assert.True(client.IsConnected);
Expand Down Expand Up @@ -89,7 +90,7 @@ public async Task ModuleCert()
X509Key = "ca-module.pem|ca-module.key"
};
var connAck = await client!.ConnectAsync(new MqttClientOptionsBuilder()
.WithConnectionSettings(cs)
.WithAzureIoTHubCredentials(cs)
.Build());
Assert.Equal(MqttClientConnectResultCode.Success, connAck.ResultCode);
Assert.True(client.IsConnected);
Expand All @@ -108,7 +109,7 @@ public async Task ModuleSasUsingEdgeHub()
GatewayHostName = "localhost"
};
var connAck = await client!.ConnectAsync(new MqttClientOptionsBuilder()
.WithConnectionSettings(cs)
.WithAzureIoTHubCredentials(cs)
.Build());
Assert.Equal(MqttClientConnectResultCode.Success, connAck.ResultCode);
Assert.True(client.IsConnected);
Expand Down

0 comments on commit 1cd5ad4

Please sign in to comment.