V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
eatFruit
V2EX  ›  程序员

pc 端软件用户信息应该如何保存?

  •  
  •   eatFruit · 2023-06-29 15:19:22 +08:00 · 1424 次点击
    这是一个创建于 538 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请问下各位桌面软件,像 qq 音乐,idea 这种的 pc 端软件的用户登录一次后,一段时间内用户都不用再重新输入用户信息登录的功能都是咋做的啊。
    13 条回复    2023-06-30 08:49:51 +08:00
    74123gzy
        1
    74123gzy  
       2023-06-29 15:54:23 +08:00
    存到用户目录下呗,找个地方存着,读系统时间确定过期时间,把登陆状态和过期时间一起存进去
    74123gzy
        2
    74123gzy  
       2023-06-29 15:54:40 +08:00
    我猜的,没做过 pc 软件
    jones2000
        3
    jones2000  
       2023-06-29 15:57:14 +08:00
    存一个类似 token 的东西在程序目录下面, 每次启动把这个 token 给后台验证,验证过了就自动登录了, 验证不过就重新登录。
    mineralsalt
        4
    mineralsalt  
       2023-06-29 15:58:47 +08:00
    和浏览器不是一样的么, 网页是把 token 存在 cookie 或本地存储, 设定一个过期时间, 软件就更简单了, token 随便存哪里都行
    Doraismydora
        5
    Doraismydora  
       2023-06-29 16:13:19 +08:00
    弄个数据库, 丢到%APPDATA%里面, 或者直接存注册表
    akira
        6
    akira  
       2023-06-29 16:27:30 +08:00   ❤️ 2
    pc 端你知道的任何方案都可以用。

    想起一个 n 年以前的趣事,某软件登录功能,是将账号密码全部下载到本地明文存储,然后点登录的时候 直接去匹配账号列表。
    早期的时候 ,做一套 BS 账号认证系统都能赚的盆满。可惜这样的日子过去了啊。。
    imicksoft
        7
    imicksoft  
       2023-06-29 16:31:55 +08:00
    ini 配置文件
    json 配置文件
    sqlite 数据文件
    Conda
        8
    Conda  
       2023-06-29 16:34:05 +08:00
    jwt token 之类的都能实现,存一个 expire time ,每次登录进来比对一下不就可以了,一个月还是一年都行
    tangtang369
        9
    tangtang369  
       2023-06-29 16:34:30 +08:00
    其他软件没有研究过 向日葵就是直接存文件
    NessajCN
        10
    NessajCN  
       2023-06-29 16:42:16 +08:00
    操作系统都有一套自己的 keychain 工具专门存放此类信息
    MacOS 是 Keychain
    Linux 一般用 Secret Service API/libsecret
    Windows 是 Credential Vault
    可以参考这个库的说明 https://github.com/atom/node-keytar
    PINKKILLER
        11
    PINKKILLER  
       2023-06-29 18:03:10 +08:00 via iPhone
    @akira 去中心化是吧😁这么先进的理念
    eatFruit
        12
    eatFruit  
    OP
       2023-06-30 07:56:04 +08:00
    谢谢各位,我都尝试一遍
    mmdsun
        13
    mmdsun  
       2023-06-30 08:49:51 +08:00 via iPhone
    登录一次后把东西存起来就行,同时后端也要延期会话过期时间。

    存储文件可以看微软文档:
    https://learn.microsoft.com/zh-cn/windows/apps/design/app-settings/store-and-retrieve-app-data
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1037 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 19:11 · PVG 03:11 · LAX 11:11 · JFK 14:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.