Skip to content

Commit 2f6295b

Browse files
committed
Add IdenttiyServer.Messaging.Azure
1 parent 9c12f84 commit 2f6295b

File tree

7 files changed

+14
-41
lines changed

7 files changed

+14
-41
lines changed

src/IdentityServer/Messaging.Azure/EventHubSender.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,32 @@
55
using IdOps.IdentityServer.Abstractions;
66
using IdOps.Messages;
77
using MassTransit;
8+
using Microsoft.Extensions.DependencyInjection;
89
using Microsoft.Extensions.Hosting;
910

1011
namespace IdOps.IdentityServer.Azure;
1112

1213
public sealed class EventHubSender : BackgroundService, IEventSenderWorker
1314
{
15+
private readonly IServiceProvider _serviceProvider;
1416
private readonly ChannelReader<IdentityEventMessage> _channelReader;
15-
private readonly IEventHubProducerProvider _producerProvider;
1617

1718
public EventHubSender(
18-
IEventHubProducerProvider provider,
19+
IServiceProvider serviceProvider,
1920
ChannelReader<IdentityEventMessage> channelReader)
2021
{
21-
_producerProvider = provider;
22+
_serviceProvider = serviceProvider;
2223
_channelReader = channelReader;
2324
}
2425

2526
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
2627
{
2728
await Task.Yield();
29+
await using AsyncServiceScope scope = _serviceProvider.CreateAsyncScope();
30+
IEventHubProducerProvider provider =
31+
scope.ServiceProvider.GetRequiredService<IEventHubProducerProvider>();
2832

29-
IEventHubProducer producer = await _producerProvider.GetProducer("identity-events");
33+
IEventHubProducer producer = await provider.GetProducer("identity-events");
3034

3135
// we reuse the buffer to avoid allocations
3236
var buffer = new IdentityEventMessage[50];

src/IdentityServer/Messaging.Azure/Extensions/AzureServiceBusIdOpsBuilderExtensions.cs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System;
22
using Azure.Identity;
33
using IdOps.IdentityServer.Abstractions;
4-
using IdOps.IdentityServer.Azure;
54
using MassTransit;
65
using Microsoft.Extensions.Configuration;
76
using Microsoft.Extensions.DependencyInjection;
@@ -75,23 +74,6 @@ private static void RegisterEventHub(
7574
throw new ApplicationException(
7675
"EventHub configuration is missing. Please check your settings.");
7776
}
78-
79-
if (eventHub.Storage is { } storageOption)
80-
{
81-
if (storageOption.Url is { } url)
82-
{
83-
k.Storage(new Uri(url), new DefaultAzureCredential());
84-
}
85-
else if (storageOption.ConnectionString is { } connectionString)
86-
{
87-
k.Storage(connectionString);
88-
}
89-
else
90-
{
91-
throw new ApplicationException(
92-
"EventHub storage configuration is missing. Please check your settings.");
93-
}
94-
}
9577
})
9678
);
9779
}

src/IdentityServer/Messaging.Azure/Options/EventHubOptions.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,4 @@ public class EventHubOptions
55
public string? ConnectionString { get; set; }
66

77
public string? Namespace { get; set; }
8-
9-
public EventStorageHubOptions? Storage { get; set; }
108
}

src/IdentityServer/Messaging.Azure/Options/EventStorageHubOptions.cs

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/IdentityServer/samples/Server/IdentityServer.csproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<ProjectReference Include="..\..\Messaging.AzureEventHub\Messaging.AzureEventHub.csproj" />
15-
<ProjectReference Include="..\..\Messaging.AzureServiceBus\Messaging.AzureServiceBus.csproj" />
14+
<ProjectReference Include="..\..\Messaging.Azure\Messaging.Azure.csproj" />
1615
<ProjectReference Include="..\..\Messaging.RabbitMQ\Messaging.RabbitMQ.csproj" />
1716
<ProjectReference Include="..\..\src\IdentityServer.Core\Core.csproj" />
1817
<ProjectReference Include="..\..\src\Store.Mongo\Store.Mongo.csproj" />

src/IdentityServer/samples/Server/Startup.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System;
2-
using IdOps.IdentityServer.AzureEventHub;
3-
using IdOps.IdentityServer.AzureServiceBus;
2+
using IdOps.IdentityServer.Azure;
43
using IdOps.IdentityServer.Events;
54
using IdOps.IdentityServer.RabbitMQ;
65
using IdOps.IdentityServer.Samples.DataSeeding;
@@ -50,12 +49,11 @@ public void ConfigureServices(IServiceCollection services)
5049
case MessagingTransport.RabbitMq:
5150
busBuilder.UseRabbitMq();
5251
break;
53-
case MessagingTransport.AzureServiceBus:
54-
busBuilder.UseAzureServiceBus();
52+
case MessagingTransport.Azure:
53+
busBuilder.UseAzure();
5554
break;
5655
}
57-
58-
busBuilder.UseEventHub();
56+
5957
}).AddProfileService<SampleProfileService>();
6058

6159
services.AddSingleton<IIdOpsEventSink, ActivityEnricherSink>();

src/IdentityServer/src/Abstractions/IIdOpsIdentityServerBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ public enum MessagingTransport
3232
{
3333
Memory,
3434
RabbitMq,
35-
AzureServiceBus
35+
Azure
3636
}
3737
}

0 commit comments

Comments
 (0)