Angular 6 PWA Функциональность PWA мешает аутентификации Azure Adal, не знаю, как ее обойти

У меня есть PWA, созданный с помощью Angular 6 и пакета @ angular / pwa npm и аутентификация с использованием пакета adal-angular4 npm (но при необходимости я могу просто перестроить его с нуля - я думаю, проблема не в ошибке в пакете)

При попытке аутентификации, хотя она и работает, пользователи очень часто встречают это сообщение о том, что не найдено (снимок экрана консоль но такая же).

Это особенно похоже на случай, если вы уже аутентифицированы в другом (или самом) продукте Azure AD. Обычно он загружается только на некоторое время, а затем позволяет пользователю войти.

Стенограмма ошибки сервис-воркера:

Failed to load 'link.com/#LONGTOKEN' A serviceWorker passed a promise 
to FetchEvent.respondWith() that rejected with 'Error: Response not Ok 
(fetchAndCacheOnce): request for LINK.com/index.html returned response 404 Not Found'.

person SebastianG    schedule 27.09.2018    source источник


Ответы (2)


Похоже, что написание функции для проверки наличия новой версии PWA очистило все. Поскольку это PWA, при замене файлов новой версией кеш по-прежнему будет там, и shift + reloading не обязательно очистят его, вызывая много нежелательного поведения.

Код для очистки выглядит так:

Сначала введите в конструктор следующее: updates: SwUpdate

import { SwUpdate } from "@angular/service-worker"

Затем внутри ngOnInit у меня есть следующее:

updates.available.subscribe(event => { updates.activateUpdate().then(() => document.location.reload()); })

Это приведет к полному обновлению через 2-3 секунды, если будет доступна новая версия, но после этого все будет хорошо работать.

person SebastianG    schedule 11.10.2018

person    schedule
comment
Понятия не имею, что ты имеешь в виду. Я вызываю MS API, у меня нет «экспресс-API», на котором я аутентифицируюсь. Перекрестное происхождение здесь также не является проблемой, поскольку я могу вручную установить любой ответный URL-адрес, который мне нужен, в интерфейсе Azure AD. - person SebastianG; 27.09.2018