5

EDIT 1ServiceWorker에서 세션 만료를 처리하는 방법

한 내 사용 사례에서 명확하지 않은 점은 브라우저가 인증하는 UX를 보여줄 필요가 없다고했다, 또는 적어도이다 선택 과목.

var credential = await navigator.credentials.get({ 
      password: true, 
      mediation: "silent", 
      federated: {providers: federatedProviderURL}} 
     ); 

사용자가 UA에서 암호를 로그 오프하거나 제거한 경우 실패합니다 (credential == null).

자격 증명 사양 작가 ServiceWorker에서 호출하는 경우, 중재는 "침묵"해야한다는을 규정하거나, 만약 그렇지 않으면 및 사용 가능한 UI : -

오류 - NOUI 조치

를 완료하기 위해 UI를 필요로하지 않는다 그러나 여기에서 중요한 점은 키없는 재 인증이 발생할 수있는 대다수의 경우입니다.

전혀 바뀌지 않습니까?

건배 리차드

ORIGINAL POST는 : -

만약 내 ServiceWorker에서 가져 오기는 내가 더 초점을 맞춘 또는 foregrounded가없는 경우 I는 서버 - 인증을 다시 어떻게 서버에서 (401)를 수신 고객?

NB : 네트워크를 다시 사용할 때까지 서버에서 업데이트하는 POST 요청에 대해서만 캐시에서 읽는 것이 아닙니다.

클라이언트에 다시 포커스를 가져 오겠습니까? 그 반응을 일으키는 행동이없는 사용자에게는 무서워서 어쨌든 다시 로그인하지 못할 수 있습니다.

배경 동기화가 401을 얻으면 무엇을합니까?

ServiceWorker에 navigator.credentials가 있으면 충분합니다.

만료되지 않는 세션?

다른 사람들은 무엇을하고 있습니까? 누군가가 도움이 될 ServiceWorker issues에 다음을 추가 할 수 있다면 다시 한번 내가

:-(W3C/IETF Github에서 금지하고 있습니다

: - 사용자 세션이 만료 된 경우 가 Use-Case

를 참조 해주십시오 ServiceWorker는 자격 증명을 결정하는 데 사용할 수있는 휴리스틱 메커니즘이 없기 때문에 현재 서버에서 재 인증 할 수있는 메커니즘이 없습니다.

credentials.get()을 사용할 수 있으면 재 인증이 투명하게 수행 될 수 있습니다. Google) then if 사용자가 로그 아웃 한 후 그 상태가 존중 될 것입니다.

+0

알림을 보낼 수 있지만 자동 로그인이 가능해야하는 이유는 무엇입니까? – McMurphy

답변

1

이전에 이에 대한 논의가있는 것으로 보입니다.제발 바다 GitHub

나는 백그라운드 재 인증이 로그인 또는 실패 통지가 적절하고 사용자 친화적 인 해결책이 될 정도로 자주 발생하지 않아야한다고 생각한다.

아이디어가 있으면 의견을 보내주세요.