Итак, сначала немного контекста. У меня есть приборная панель angular 2, она находится за логином и также имеет встроенный сигнализатор. Для запроса, отправленного через http-клиент angular, я могу использовать перехватчик URL-адресов, чтобы проверить, истек ли срок действия токена, и если да, то запросить новый токен из API. Это отлично работает для всех аутентифицированных вызовов, кроме signalr.
С помощью signalr при входе в систему мы устанавливаем соединение и отправляем токен носителя как часть строки запроса. Однако, поскольку signalr является отдельным, он не использует угловой http-клиент, и поэтому перехватчик URL-адресов не попадает. Я думал о разных способах справиться с этим, и для меня самым чистым было бы подписаться на наблюдаемое, которое срабатывает, когда истечет срок действия токена.
Итак, теперь мой вопрос: если у меня есть дата истечения срока действия, могу ли я написать наблюдаемое, которое срабатывает, когда время истечения составляет пять минут до текущего времени. Таким образом, я мог бы подписаться на этот наблюдаемый в моей службе сигналов и отключиться и подключиться с обновленным токеном аутентификации. Я могу предоставить образцы кода, если это необходимо, но я не знаю, насколько они помогут с моим вопросом.
Спасибо за любую помощь в этом.