我正在尝试像这样使用Azure SignalR向特定用户发送消息
await this.hubContext.Clients.User(UserId).SendAsync("NotifyUser", "message");
根据https://docs.microsoft.com/en-us/aspnet/core/signalr/groups?view=aspnetcore-3.0 默认情况下,Signaler使用ClaimTypes.NameIdentifier标识用户。
我可以将此默认设置更改为使用ClaimTypes.EmailClaim吗?这是可配置的吗?
答案 0 :(得分:0)
对于.NetCore应用程序。这种方法有效
public class CustomUserIdentityProvider : IUserIdProvider
{
public string GetUserId(HubConnectionContext connection)
{
return connection.User.Claims.FirstOrDefault(x => x.Type == Constants.EmailClaim)?.Value;
}
}