在浏览器上重新生成(刷新)令牌

时间:2018-02-14 07:36:45

标签: firebase push-notification token web-push

情况是,我们有一个网站,对于某些网页通知,我们使用网络推送,用户登录网站后,我们检查他/她是否授予我们通知权限,我们不要问它,如果不是我们要求启用通知,生成的令牌是每个浏览器我的意思是如果用户注销和另一个用户登录我们的网站以前的令牌可用于新登录的用户,所以如果我们想要通知以前的用户,新用户收到我们的通知。

简单的解决方案是在Logout上删除令牌,每次登录后我们都应该要求用户再次向我们授予权限,但是这会让用户感到困扰,我知道当用户登录该网站时,我们检查一下用户是他/她自己,我们什么都不做,但如果有另一个用户,没有要求再次授予权限(我们之前询问过他们)我们刷新令牌,我的意思是为他重新生成另一个令牌/她将该令牌保存在我们的后端,我的问题是我们如何重新生成令牌而不再要求在浏览器中授予通知权限?

1 个答案:

答案 0 :(得分:1)

如果不撤消权限,则无法重新生成令牌。

但是,您可以使用我们用于Pushpad的相同策略:

  • 数据库中的每个令牌(即浏览器)只出现一次
  • 每个令牌最多只有一个与之关联的用户ID
  • 当用户注销时,您从令牌中删除用户ID
  • 当用户登录时,将用户ID添加到当前令牌
  • 当您需要发送针对特定用户ID的通知时