Using authentication and authorization in SignalR
In the previous section, we used the Hub
class to implement a simple chat app. The Clients.All.SendAsync
method is used to send a message to all connected clients. Sometimes, we may want to send a message to a specific client or a group of clients. To manage users and groups, we need to know the identity of the user. In this section, we will explore how to use authentication and authorization in SignalR.
By default, SignalR uses a ClaimTypes.NameIdentifier
claim to differentiate users. The ClaimTypes.NameIdentifier
claim is used to uniquely identify a user. We introduced claim-based authorization in Chapter 8, so we will follow the steps from that chapter to add authentication and authorization to the SignalR server application. If you are not familiar with ASP.NET Core authentication and authorization, you can refer to Chapter 8 for more details.
You can find the complete code of the sample in the chapter13/v2
folder of the GitHub...