某小项目关于账号验证的问题...
-
最近 我发现一个开源项目的群里在
争吵(划掉)讨论这样一个问题这是一个关于小破站的开源项目 应该算是小破站的第三方客户端
在下个版本 有一项新功能 为此 需要一个服务器 用于存储一些数据 用户可以上传或获取这些数据听着就知道 一定需要一些认证手段 但作者并不想为此开发账号系统 希望沿用上个版本以小破站的账号体系
最初 会将小破站Token和UID上传 作为认证手段 但... 安全性爆炸 自然遭到了反对
(服务端只需要知道这是真实唯一的用户即可 并不需要拿到Token去做事 Token仅本地保存即可 上传仅仅为了验证这个UID的主人是此用户 对应用户 从而无法批量伪造用户其他恶意攻击行为等)
后面 我们「友好」的争论了各种方法... 要么不安全 要么不方便 要么无法认证
最终 想的是将非对称加密Token和UID上传 服务器端验证后立即删除 而原本计划闭源的服务端也要以AGPL-3.0开源(作者之前没打算开源服务端 是因为此前已经有图谋不轨的人了)那么 此问题是否还有安全、方便、可认证的解法
或者 其实很多软件都这么做 我们纯粹想多了 -
只要在第一次验证后, 让服务器发一个自己的token, 后面就可以使用这个token来获取数据。实在不行可以把这个功能做成可选的 -- 即一次验证(也可手动重新验证, 老的将失效) + 功能可选