gpt4 book ai didi

javascript - 如何在 ServiceWorker 中处理 Session 过期

转载 作者:搜寻专家 更新时间:2023-11-01 04:35:04 24 4
gpt4 key购买 nike

编辑 1

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

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

如果用户已从 UA 注销或删除密码,则它将失败(凭据 == null)。

凭证规范的作者可能会规定,如果从 ServiceWorker 调用,中介必须是“静默的”,或者,如果不是这样并且没有可用的 UI,则:-

错误 - NOUI 操作需要 UI 才能完成

但这里的重点是在绝大多数情况下都可以进行无 key 重新身份验证。

这会改变一切吗?

干杯理查德

原帖:-

如果我的 ServiceWorker 中的 Fetch 从服务器收到 401,如果我没有焦点或前台客户端,我该如何重新验证服务器?

注意:我说的是 POST 请求更新服务器,而不仅仅是在网络恢复之前从缓存中读取。

让客户重新成为焦点?对于没有引起这种 react 的任何操作的用户来说是可怕的,他们可能不会在那里再次登录。

如果 Background-Synch 收到 401,它会做什么?

如果 navigator.credentials 出现在 ServiceWorker 中就足够了!

永不过期的 session ?

其他人在做什么?

我又一次被 W3C/IETF Github 禁止了:-(

如果有人可以将以下内容添加到 ServiceWorker issues这会有所帮助:-请看Use-Case

如果用户 session 已过期,则 ServiceWorker 目前没有可用于重新验证服务器的机制,因为没有可用于确定凭据的启发式机制。

如果 credentials.get() 可用,则可以透明地进行重新身份验证。如果联合(比如谷歌),那么如果用户已经注销,那么该状态将得到尊重。

最佳答案

好像之前有讨论过这个。请看GitHub

我认为后台重新验证的频率应该足够低,以至于登录或失败的通知是一种适当且用户友好的解决方案。

如果你有什么想法,请在那边评论!

关于javascript - 如何在 ServiceWorker 中处理 Session 过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47320790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com