diff --git a/DigitalData.Auth.Client/ClientParams.cs b/DigitalData.Auth.Client/ClientParams.cs index 29fd010..82c11e6 100644 --- a/DigitalData.Auth.Client/ClientParams.cs +++ b/DigitalData.Auth.Client/ClientParams.cs @@ -1,5 +1,4 @@ -using DigitalData.Auth.Client; -using Microsoft.AspNetCore.SignalR.Client; +using Microsoft.AspNetCore.SignalR.Client; using Microsoft.Extensions.Logging; namespace DigitalData.Auth.Client; @@ -42,5 +41,5 @@ public class ClientParams }); } - public List PublicKeys { get; init; } = new(); + public List PublicKeys { get; set; } = new(); } \ No newline at end of file diff --git a/DigitalData.Auth.Client/DIExtensions.cs b/DigitalData.Auth.Client/DIExtensions.cs index abd6945..d9855f2 100644 --- a/DigitalData.Auth.Client/DIExtensions.cs +++ b/DigitalData.Auth.Client/DIExtensions.cs @@ -1,17 +1,21 @@ using DigitalData.Auth.Abstractions; using Microsoft.AspNetCore.SignalR.Client; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.Options; namespace DigitalData.Auth.Client; public static class DIExtensions { - public static IServiceCollection AddAuthHubClient(this IServiceCollection services, Action options) + public static IServiceCollection AddAuthHubClient(this IServiceCollection services, IConfiguration? configuration = null, Action? options = null) { + var clientParams = configuration?.GetSection(nameof(ClientParams)).Get() ?? new ClientParams(); + options?.Invoke(clientParams); services - .Configure(options) - .AddSingleton() + .AddSingleton(Options.Create(clientParams)) + .AddSingleton() .TryAddSingleton(); return services; diff --git a/DigitalData.Auth.Client/DigitalData.Auth.Client.csproj b/DigitalData.Auth.Client/DigitalData.Auth.Client.csproj index 754f53a..dc9824f 100644 --- a/DigitalData.Auth.Client/DigitalData.Auth.Client.csproj +++ b/DigitalData.Auth.Client/DigitalData.Auth.Client.csproj @@ -5,7 +5,7 @@ enable enable DigitalData.Auth.Client - 1.1.1 + 1.1.2 DigitalData.Auth.Client is a SignalR-based authentication client that enables applications to connect to a central authentication hub for real-time message exchange. It provides seamless connection management, automatic reconnection (RetryPolicy), and event-driven communication (ClientEvents). The package includes dependency injection support via DIExtensions, allowing easy integration into ASP.NET Core applications. With built-in retry policies and secure message handling, it ensures a reliable and scalable authentication client for real-time authentication workflows. Digital Data GmbH Digital Data GmbH @@ -14,8 +14,8 @@ auth_icon.png http://git.dd:3000/AppStd/DigitalData.Auth Digital Data Auth Authorization Authentication - 1.1.1 - 1.1.1 + 1.1.2 + 1.1.2 diff --git a/DigitalData.Auth.Tests/API/AuthHubTests.cs b/DigitalData.Auth.Tests/API/AuthHubTests.cs index 21359ef..c6677f9 100644 --- a/DigitalData.Auth.Tests/API/AuthHubTests.cs +++ b/DigitalData.Auth.Tests/API/AuthHubTests.cs @@ -40,7 +40,7 @@ public class AuthHubTests Build = options => { var provider = new ServiceCollection() - .AddAuthHubClient(options) + .AddAuthHubClient(options: options) .BuildServiceProvider(); _disposableAsync.Enqueue(provider); diff --git a/DigitalData.Auth.Tests/Client/AuthClientTests.cs b/DigitalData.Auth.Tests/Client/AuthClientTests.cs index 2002790..54f1d03 100644 --- a/DigitalData.Auth.Tests/Client/AuthClientTests.cs +++ b/DigitalData.Auth.Tests/Client/AuthClientTests.cs @@ -85,7 +85,7 @@ public class AuthClientTests Build = options => { var provider = new ServiceCollection() - .AddAuthHubClient(options) + .AddAuthHubClient(options: options) .BuildServiceProvider(); _disposableAsync.Enqueue(provider);