5

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.

+0

Może wysłać powiadomienie, ale dlaczego denerwuje użytkownika, jeśli automatyczne logowanie jest/powinno być dostępne? – McMurphy

Odpowiedz

1

Wygląda na to, że wcześniej dyskutowano na ten temat.Proszę morze GitHub

Myślę, że ponowne uwierzytelnienie tła powinno być na tyle rzadkie, że powiadomienie o logowaniu lub niepowodzeniu jest odpowiednim i przyjaznym dla użytkownika rozwiązaniem.

Proszę o komentarz tam, jeśli masz jakieś pomysły!