Javascript 如何在ServiceWorker中处理会话到期
编辑1 在我的用例中,有一件事我没有明确说明,浏览器不需要显示UX来进行身份验证,或者至少它是可选的Javascript 如何在ServiceWorker中处理会话到期,javascript,authentication,web-applications,service-worker,fetch-api,Javascript,Authentication,Web Applications,Service Worker,Fetch Api,编辑1 在我的用例中,有一件事我没有明确说明,浏览器不需要显示UX来进行身份验证,或者至少它是可选的 var credential = await navigator.credentials.get({ password: true, mediation: "silent", federated: {providers: federatedProviderURL}} ); 如果用户已从UA注销或
var credential = await navigator.credentials.get({
password: true,
mediation: "silent",
federated: {providers: federatedProviderURL}}
);
如果用户已从UA注销或删除密码,则它将失败(凭据==null)
凭据规范编写者可以规定,如果从ServiceWorker调用,中介必须是“静默”的,或者,如果不是静默的,并且没有可用的UI,则:-
错误-NOUI操作需要UI才能完成
但这里重要的一点是,在绝大多数情况下,可以进行无密钥重新身份验证
这会改变一切吗
干杯,理查德
原创帖子:-
如果我的ServiceWorker中的提取从服务器接收到401,那么如果我没有聚焦或前置客户机,如何重新验证服务器
注意:我说的是POST请求更新服务器,而不仅仅是在网络恢复之前读取缓存
让客户重新成为焦点?对于没有引起这种反应的操作的用户来说,这很可怕,而且他们可能不会在那里再次登录
如果后台同步得到401,它会做什么
如果navigator.credentials出现在ServiceWorker中,那就足够了
永不过期的会话
其他人在干什么
我再次被禁止进入W3C/IETF Github:-(
如果有人可以添加以下内容,这将有所帮助:-
请看
如果用户会话已过期,则ServiceWorker当前没有可用于向服务器重新验证的机制,因为没有可用于确定凭据的启发式机制
如果credentials.get()可用,则可以透明地进行重新身份验证。如果是联合身份验证(如Google),则如果用户已注销,则该状态将得到尊重。似乎以前对此进行过讨论。请参阅 我认为后台重新身份验证应该很少,登录或失败通知应该是一个合适且用户友好的解决方案
如果您有任何想法,请在那里发表评论!可能会发送通知,但如果自动登录可用,为什么会惹恼用户?