SignalR Autorisierter Benutzer erhält Message ASP.NET Core 3.1 nichtC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 SignalR Autorisierter Benutzer erhält Message ASP.NET Core 3.1 nicht

Post by Anonymous »

Ich versuche, die Identitätsbenutzer in SignalR zu integrieren. Bisher ist die Autorisierung erfolgreich, wenn es darum geht, sich mit dem Hub zu verbinden. Ich habe auch eine E -Mail anstelle des Benutzer -Uniqueridentifikators ausprobiert, aber die Ergebnisse sind gleich. Würde Ihre Meinung lieben.

Code: Select all

 options.Events = new JwtBearerEvents
{
OnMessageReceived = context =>
{
var accessToken = context.Request.Query["access_token"];

if (!string.IsNullOrEmpty(accessToken) &&(context.Request.Path.StartsWithSegments("/feed/get")))
{
context.Token = context.Request.Query["access_token"];
}
return Task.CompletedTask;
}
};
< /code>
Startup.cs
:

Code: Select all

 app.UseEndpoints(route =>
{
route.MapHub("/feed/Get");
});
< /code>
Hub
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]

public class ActivityHub : Hub
{
IAuthService AuthService;

public ActivityHub(IAuthService authService)
{
AuthService = authService;
}

public override async Task OnConnectedAsync()
{
var user = await AuthService.GetUserByNameAsync(Context.User.Identity.Name);

await Clients.User(user.Id).SendAsync("receiveMessage", "Hello user");   // this isn't received on the client

await Groups.AddToGroupAsync(Context.ConnectionId, user.Id);
await Clients.Group(user.Id).SendAsync("receiveMessage", "Hello group!");    // this works

await base.OnConnectedAsync();
}

public override async Task OnDisconnectedAsync(Exception exception)
{
await base.OnDisconnectedAsync(exception);
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post