More security!
All checks were successful
Build Docker Images / test (map[name:Morska plugin_project:DiunaBI.Plugins.Morska]) (push) Successful in 1m25s
Build Docker Images / test (map[name:PedrolloPL plugin_project:DiunaBI.Plugins.PedrolloPL]) (push) Successful in 1m25s
Build Docker Images / build-and-push (map[image_suffix:morska name:Morska plugin_project:DiunaBI.Plugins.Morska]) (push) Successful in 1m41s
Build Docker Images / build-and-push (map[image_suffix:pedrollopl name:PedrolloPL plugin_project:DiunaBI.Plugins.PedrolloPL]) (push) Successful in 1m40s
All checks were successful
Build Docker Images / test (map[name:Morska plugin_project:DiunaBI.Plugins.Morska]) (push) Successful in 1m25s
Build Docker Images / test (map[name:PedrolloPL plugin_project:DiunaBI.Plugins.PedrolloPL]) (push) Successful in 1m25s
Build Docker Images / build-and-push (map[image_suffix:morska name:Morska plugin_project:DiunaBI.Plugins.Morska]) (push) Successful in 1m41s
Build Docker Images / build-and-push (map[image_suffix:pedrollopl name:PedrolloPL plugin_project:DiunaBI.Plugins.PedrolloPL]) (push) Successful in 1m40s
This commit is contained in:
@@ -7,6 +7,7 @@ public class EntityChangeHubService : IAsyncDisposable
|
||||
{
|
||||
private readonly string _hubUrl;
|
||||
private readonly ILogger<EntityChangeHubService> _logger;
|
||||
private readonly TokenProvider _tokenProvider;
|
||||
private HubConnection? _hubConnection;
|
||||
private bool _isInitialized;
|
||||
private readonly SemaphoreSlim _initializationLock = new SemaphoreSlim(1, 1);
|
||||
@@ -19,7 +20,8 @@ public class EntityChangeHubService : IAsyncDisposable
|
||||
public EntityChangeHubService(
|
||||
string apiBaseUrl,
|
||||
IServiceProvider serviceProvider,
|
||||
ILogger<EntityChangeHubService> logger)
|
||||
ILogger<EntityChangeHubService> logger,
|
||||
TokenProvider tokenProvider)
|
||||
{
|
||||
_instanceId = Interlocked.Increment(ref _instanceCounter);
|
||||
|
||||
@@ -28,6 +30,7 @@ public class EntityChangeHubService : IAsyncDisposable
|
||||
_hubUrl = baseUrl + "/hubs/entitychanges";
|
||||
|
||||
_logger = logger;
|
||||
_tokenProvider = tokenProvider;
|
||||
_logger.LogInformation("🏗️ EntityChangeHubService instance #{InstanceId} created. Hub URL: {HubUrl}", _instanceId, _hubUrl);
|
||||
Console.WriteLine($"🏗️ EntityChangeHubService instance #{_instanceId} created. Hub URL: {_hubUrl}, _isInitialized = {_isInitialized}");
|
||||
}
|
||||
@@ -58,7 +61,21 @@ public class EntityChangeHubService : IAsyncDisposable
|
||||
Console.WriteLine($"🔌 Initializing SignalR connection to {_hubUrl}");
|
||||
|
||||
_hubConnection = new HubConnectionBuilder()
|
||||
.WithUrl(_hubUrl)
|
||||
.WithUrl(_hubUrl, options =>
|
||||
{
|
||||
// Add JWT token to SignalR connection
|
||||
if (!string.IsNullOrEmpty(_tokenProvider.Token))
|
||||
{
|
||||
options.AccessTokenProvider = () => Task.FromResult<string?>(_tokenProvider.Token);
|
||||
_logger.LogInformation("✅ JWT token added to SignalR connection");
|
||||
Console.WriteLine($"✅ JWT token added to SignalR connection");
|
||||
}
|
||||
else
|
||||
{
|
||||
_logger.LogWarning("⚠️ No JWT token available for SignalR connection");
|
||||
Console.WriteLine($"⚠️ No JWT token available for SignalR connection");
|
||||
}
|
||||
})
|
||||
.WithAutomaticReconnect()
|
||||
.Build();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user