Включая заголовок аутентификации (с токеном доступа) и вызов хаба SignalR из Angular - PullRequest
0 голосов
/ 24 июня 2019

На заднем плане у меня есть веб-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));

}

...