EDIT 1Jak obsługiwać Session wygaśnięcia ServiceWorker
Jedno nie jasno w moim przypadku użycia było to, że przeglądarka nie trzeba pokazać UX uwierzytelnianie, a przynajmniej to opcjonalny.
var credential = await navigator.credentials.get({
password: true,
mediation: "silent",
federated: {providers: federatedProviderURL}}
);
Jeśli użytkownik został wylogowany lub usunięte haseł od UA następnie zakończy się niepowodzeniem (poświadczeń == null).
poświadczenia pisarze Spec mogą zastrzec, że jeśli wywołana z ServiceWorker mediacja musi być „ciche” lub, jeśli inaczej i nie UI dostępne an: -
Błąd - NOUI działanie wymaga interfejsu użytkownika, aby zakończyć
Ale ważną kwestią jest to, że w ogromnej większości przypadków może nastąpić ponowne uwierzytelnienie bez użycia klucza.
Czy to wszystko zmienia?
Cheers Richard
Original post: -
Jeśli Fetch w moim ServiceWorker otrzyma 401 z serwera jak mogę ponownie uwierzytelnić z serwerem, jeśli nie mam skupiony lub pierwszy plan klient?
NB: Mówię o wnioskach POST aktualizujących serwer, a nie tylko odczytach z pamięci podręcznej, dopóki sieć nie powróci.
Doprowadzić klienta do fokusu? Przerażające dla użytkownika bez żadnej akcji powodującej tę reakcję i mogą nie być w stanie się ponownie zalogować.
Co robi synchronizacja w tle, jeśli otrzymuje numer 401?
Jeśli navigator.credentials pojawił się w ServiceWorker, to wystarczy!
Sesje, które nigdy nie wygasną?
Co robią inni ludzie?
raz kolejny jestem wyrzucony z W3C/IETF Github :-(
Jeżeli ktoś może dodać następujące ServiceWorker issues które mogłyby pomóc: - proszę zobaczyć Use-Case
Jeśli sesji użytkownika wygasł ServiceWorker obecnie nie ma dostępnych mechanizmów do ponownego uwierzytelnienia się z serwerem, ponieważ nie istnieje żaden mechanizm heurystyczny do określenia poświadczeń:
Jeśli dostępna była referencja credentials.get(), wówczas ponowne uwierzytelnienie może odbywać się w sposób przezroczysty. Google), a następnie, jeśli użytkownik wylogował się, a następnie stan ten byłby honorowany.
Może wysłać powiadomienie, ale dlaczego denerwuje użytkownika, jeśli automatyczne logowanie jest/powinno być dostępne? – McMurphy