Sidub.Platform.Messaging.SignalR.Host
1.15.1
Prefix Reserved
dotnet add package Sidub.Platform.Messaging.SignalR.Host --version 1.15.1
NuGet\Install-Package Sidub.Platform.Messaging.SignalR.Host -Version 1.15.1
<PackageReference Include="Sidub.Platform.Messaging.SignalR.Host" Version="1.15.1" />
<PackageVersion Include="Sidub.Platform.Messaging.SignalR.Host" Version="1.15.1" />
<PackageReference Include="Sidub.Platform.Messaging.SignalR.Host" />
paket add Sidub.Platform.Messaging.SignalR.Host --version 1.15.1
#r "nuget: Sidub.Platform.Messaging.SignalR.Host, 1.15.1"
#:package Sidub.Platform.Messaging.SignalR.Host@1.15.1
#addin nuget:?package=Sidub.Platform.Messaging.SignalR.Host&version=1.15.1
#tool nuget:?package=Sidub.Platform.Messaging.SignalR.Host&version=1.15.1
Sidub Platform — Messaging SignalR Hub for Azure Functions
The serverless SignalR hub behind Sidub.Platform.Messaging.SignalR, for an Azure Functions isolated worker (.NET 8 or later) with Azure SignalR Service in serverless mode: negotiate for authenticated callers, channel groups scoped by a claim of the caller's token, and server-side publish to a group through the Azure SignalR Management SDK.
Installation
dotnet add package Sidub.Platform.Messaging.SignalR.Host
Quick Start
// Program.cs (worker)
builder.AddSidubAuthenticationForIsolatedFunction();
builder.Services.AddSidubPlatform(_ => registry); // the channel registry first: a registry added after AddSidubMessagingHub is ignored
builder.Services.AddSidubMessagingHub(o => o.GroupClaim = "tid");
builder.Services.AddServerlessHub<Messaging>();
// the hub: the class name is the hub name
[ServerlessHub.SignalRConnection("AzureSignalRConnectionString")]
public sealed class Messaging : MessagingHub
{
public Messaging(IServiceProvider sp, IOptions<MessagingHubOptions> o, ILogger<MessagingHub> l) : base(sp, o, l) { }
[Function("negotiate")]
public Task<HttpResponseData> NegotiateFunction([HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req, FunctionContext ctx) => Negotiate(req, ctx);
[Function("subscribe"), AllowAnonymous]
public Task Subscribe([SignalRTrigger("messaging", "messages", "subscribe", "channel")] SignalRInvocationContext inv, string channel) => OnSubscribe(inv, channel);
[Function("unsubscribe"), AllowAnonymous]
public Task Unsubscribe([SignalRTrigger("messaging", "messages", "unsubscribe", "channel")] SignalRInvocationContext inv, string channel) => OnUnsubscribe(inv, channel);
[Function("publish"), AllowAnonymous]
public Task Publish([SignalRTrigger("messaging", "messages", "publish", "envelope")] SignalRInvocationContext inv, string envelope) => OnPublish(inv, envelope);
}
Registration fails unless GroupClaim is set, or AllowUnscopedChannels = true for a hub where every client shares every channel. Clients publish through the hub only with AllowClientPublish = true; the hub then stamps each client message with the client's user id.
Point the SignalR Service upstream at https://<app>.azurewebsites.net/runtime/webhooks/signalr?code=<signalr_extension system key>.
Documentation
Full documentation, guides, and API reference: Sidub Platform Documentation
License
Dual-licensed under AGPLv3 and Sidub Inc. Proprietary Software License Agreement (PSLA). See LICENSE.txt for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Azure.Functions.Worker.Core (>= 2.52.0)
- Microsoft.Azure.Functions.Worker.Extensions.Http (>= 3.3.0)
- Microsoft.Azure.Functions.Worker.Extensions.SignalRService (>= 2.1.0)
- Microsoft.Azure.SignalR.Management (>= 1.33.1)
- Sidub.Platform.Authentication.IsolatedFunction (>= 1.15.1)
- Sidub.Platform.Messaging (>= 1.15.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.15.1 | 3 | 11/1/2026 |