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

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

想起一个 n 年以前的趣事,某软件登录功能,是将账号密码全部下载到本地明文存储,然后点登录的时候 直接去匹配账号列表。
早期的时候 ,做一套 BS 账号认证系统都能赚的盆满。可惜这样的日子过去了啊。。
imicksoft
2023-06-29 16:31:55 +08:00
ini 配置文件
json 配置文件
sqlite 数据文件
Conda
2023-06-29 16:34:05 +08:00
jwt token 之类的都能实现,存一个 expire time ,每次登录进来比对一下不就可以了,一个月还是一年都行
tangtang369
2023-06-29 16:34:30 +08:00
其他软件没有研究过 向日葵就是直接存文件
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
2023-06-29 18:03:10 +08:00
@akira 去中心化是吧😁这么先进的理念
eatFruit
2023-06-30 07:56:04 +08:00
谢谢各位,我都尝试一遍
mmdsun
2023-06-30 08:49:51 +08:00
登录一次后把东西存起来就行,同时后端也要延期会话过期时间。

存储文件可以看微软文档:
https://learn.microsoft.com/zh-cn/windows/apps/design/app-settings/store-and-retrieve-app-data

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/952722

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX