Login 流星帐户恢复令牌“;“记住我”;

Login 流星帐户恢复令牌“;“记住我”;,login,meteor,accounts,Login,Meteor,Accounts,我正在构建一个Meteor+Cordova应用程序,我想在其中登录,在移动设备上“永远坚持” 我看到了下面的教程,通过它我可以设置自己的自定义“恢复处理程序” Accounts.registerLoginHandler Accounts.\u生成mpedlogintoken Accounts.\u hashStampedToken 我可能会编写我自己的(janky)上述函数的实现,并尝试让它工作,可能会存储在客户端的localStorage中。。。但我想我会在这里问一下,是否有人知道这个包

我正在构建一个Meteor+Cordova应用程序,我想在其中登录,在移动设备上“永远坚持”

我看到了下面的教程,通过它我可以设置自己的自定义“恢复处理程序”

  • Accounts.registerLoginHandler
  • Accounts.\u生成mpedlogintoken
  • Accounts.\u hashStampedToken
我可能会编写我自己的(janky)上述函数的实现,并尝试让它工作,可能会存储在客户端的localStorage中。。。但我想我会在这里问一下,是否有人知道这个包装成包的特定解决方案,或者一个干净的例子

理想情况下:

  • meteor add xxxxx:memberme
  • 设置
    • rememberMe.config.days=9999
    • rememberMe.config.storageClient=localStorage
注:这与


建议?

使用内置的Accounts.config(选项)怎么样

一旦登录,它将永远不会过期,直到用户使用Meteor.logout()再次注销


但是,请注意,由于令牌存储在localstorage中,它有时会被iOS或android自动清除。

此软件包将通过在文件系统上保存loginToken来帮助解决此问题,以便在应用程序恢复之前清除localstorage时使用。

自动清除这就是我记得听到的--有什么办法吗?无论如何,这是一种“正确”的方式,我只是不知道如何防止它被清除。我认为不可能通过操作系统控制本地存储清理。另一方面,您可以使用文件系统api。我想您可以将令牌保存在一个文件中作为备份。因此,您通常会从localstorage读取令牌,如果令牌由于清理而不在那里,您可以从文件中读取它。这听起来是一个很好的解决方案。。。我会调查的-谢谢!你能告诉我更多关于本地存储清理的操作系统。。。如果我改用WebSQL,它还会定期被丢弃吗?显然(在撰写本文时)存在一个bug,为什么这个解决方案不再有效,请参阅“谢谢”。这是一个在所有设备上都有效的答案。
Accounts.config({
   loginExpirationInDays: null
})