This article describes using IUserIdProvider interface. It shows how you can use GlobalHost to make SignalR use you user ID provider. But SignalR for .Net Core does not have GlobalHost. What is the replacement?
You need to implement IUserIdProvider
.
public class MyCustomProvider : IUserIdProvider
{
public string GetUserId(HubConnectionContext connection)
{
...
}
}
Then you need to register it in Startup
for dependency injection:
public void ConfigureServices(IServiceCollection services)
{
services.AddSignalR();
services.AddSingleton<IUserIdProvider, MyCustomProvider>();
}
Then SignalR
will use your UserIdProvider
in such events like HubEndPoint.OnConnectedAsync()