На заднем плане у меня есть веб-API ASP.Net Core 2.2.В нем у меня есть ядро SignalR Core.На передней панели у нас есть приложение Angular 5.Мы используем Auth0 в качестве нашего сервера аутентификации.
Когда клиент вызывает любые конечные точки API, он отправляет вместе с запросом заголовок аутентификации, который содержит токен доступа.Поскольку все конечные точки API имеют декоратор [Authorize], это необходимо.
Разработчик внешнего интерфейса сейчас работает над системой чата для клиентского приложения, используя SignalR, но он не знает, как это сделать.сделайте то же самое с вызовами к концентратору SignalR.Т.е. включить заголовок аутентификации (с токеном доступа), когда он вызывает методы-концентраторы SignalR в Angular.
Мой вопрос: возможно ли это сделать?Я понимаю, что SignalR использует веб-сокеты, когда это возможно.Так можно ли включить заголовок авторизации с веб-сокетом, так же, как это делается с обычными HTTP-вызовами API?Если это возможно, образец будет очень признателен!
В настоящее время он имеет простую настройку тестового кода в Angular:
this.hubConnection
.start()
.then(() => console.log('Connection started!'))
.catch(err => console.log('Error while establishing connection :('));
this.hubConnection.on('ReceiveMessage', (userId: string, message: string) => {
const text = `${userId}: ${message}`;
this.messages.push(text);
});
this.hubConnection
.invoke('SendMessage', 'john', 'hello world')
.catch(err => console.error(err));
}