В моем прототипе SignalR Authentication у клиента JS нет Context.UserIdentifier, и для соединения будет 0 при подключении к концентратору SignalR на стороне клиента JS.Он отлично работает с клиентом .NET.
Хотите знать, если построение соединения неправильно?Это мое соединение:
state.connection = new signalR.HubConnectionBuilder()
.withUrl("/chatHub", {
accessTokenFactory: async () => {
axios.post('https://localhost:44384/api/account/token', { email: email, password: password })
.then(async (response) => {
if (typeof response === 'undefined') {
return;
}
else {
console.log(response.data);
console.log(state.connection.id);
return response.data;
}
})
.catch((error) => {
console.log(error);
});
}
})
.build();
Клиент WPF прекрасно подключается с токеном с помощью этого кода:
_connection = new HubConnectionBuilder()
.WithUrl("https://localhost:44384/ChatHub", options =>
{
options.AccessTokenProvider = async () =>
{
var tokenUserCommand = new TokenUserCommand
{
Email = emailTextBox.Text,
Password = passwordBox.Password
};
var token = await RestService.PostAsync<string>("account/token", tokenUserCommand);
return token;
};
})
.Build();
Где я нашел Конфигурация аутентификации SignalR и SignalR Bearer Authentication
Вот источник для моего прототипа проекта