【问题标题】:Set an expiration of key for Electron-vue based application为基于 Electron-vue 的应用程序设置密钥过期
【发布时间】:2020-08-23 21:45:33
【问题描述】:

我正在构建一个 electron-Vue 桌面应用程序,该应用程序要求密钥(用于设置应用程序特定部分的过期)在其过期日期(例如 30 天)之前应有效。我应该进行编程,以便在 30 天后,应为用户锁定应用程序的特定部分,但主要问题是: A) 桌面应用程序离线 B) 如果用户更改了他/她的桌面时间,那么过期时间也不能受到影响或延迟。 我用谷歌搜索了很多,但找不到任何可以用来解决这个问题的东西。我正在用 javascript 编写代码,因此可以接受 VueJs 或 nodejs 相关的解决方案。提前致谢!请帮我解决这个问题。

【问题讨论】:

    标签: javascript node.js vue.js electron


    【解决方案1】:

    不要使用本地系统时间,而是使用时间戳。您可以通过在 JavaScript 中使用 Date.now() 来获取当前时间戳。 要了解有关时间戳的更多信息,请查看以下内容:Wikipedia - Unix time

    【讨论】:

    • 感谢您的回复,但我不能使用 Date.now() 因为它会根据本地系统给出时间,并且如问题所述,如果用户更改他/她的本地系统时间会导致进入电子桌面应用程序(离线)中的更改时间。因此,如果用户希望密钥根据他/她的本地系统时间永不过期。
    • developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 正如您在此处所读到的,Date.now() 返回一个 unix 时间戳。这正是您要查找的内容,如果用户更改系统时间,时间戳不会更改。
    • 在谷歌搜索了 Date.now() 和 Unix 时间戳之后,我得出结论 Date.now() 是通过占用本地系统时间来工作的,并且我自己已经对其进行了实际检查。如果您建议使用任何 Web API,我不能,因为我的桌面应用程序设计为离线工作,因此 用户从不连接到互联网 场景可以被视为最坏的情况。请有其他建议!
    猜你喜欢
    • 2020-03-21
    • 2023-04-06
    • 2017-07-13
    • 2021-07-04
    • 2012-10-07
    • 1970-01-01
    • 2016-10-25
    • 2017-03-01
    • 1970-01-01
    相关资源
    最近更新 更多