Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ServiceWorker中处理会话到期_Javascript_Authentication_Web Applications_Service Worker_Fetch Api - Fatal编程技术网

Javascript 如何在ServiceWorker中处理会话到期

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注销或

编辑1

在我的用例中,有一件事我没有明确说明,浏览器不需要显示UX来进行身份验证,或者至少它是可选的

    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),则如果用户已注销,则该状态将得到尊重。

似乎以前对此进行过讨论。请参阅

我认为后台重新身份验证应该很少,登录或失败通知应该是一个合适且用户友好的解决方案


如果您有任何想法,请在那里发表评论!

可能会发送通知,但如果自动登录可用,为什么会惹恼用户?