using System; using System.Diagnostics; using Microsoft.AspNetCore.SignalR; namespace Infrastructure.Web.SignalR { public class NameUserIdProvider : DefaultUserIdProvider { public override string GetUserId(HubConnectionContext connection) { var key = "username"; var query = connection.GetHttpContext().Request.Query; if (query.ContainsKey(key)) { var username = query[key]; if (!string.IsNullOrEmpty(username)) { Debug.WriteLine($"use userid from request query string {query[key]}"); return query[key]; } } return base.GetUserId(connection); } } }