V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yumusb
V2EX  ›  程序员

基于 localstorage 存储的 TOTP 管理工具更新

  •  
  •   yumusb · 2023-10-19 23:39:24 +08:00 · 2049 次点击
    这是一个创建于 405 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://totp.xn--9tr.com/ 做的比较粗糙,包括展示以及兼容性方面都没有后续的考虑。
    最近一直在(ChatGPT 的帮助下)努力让其变得(相对)更易用,V2 版本来了。

    BUG:有些提示的逻辑可能有问题,一般会在刷新后解决,不影响正常使用。

    目前的界面如下:

    主要功能:


    1. 可以手动表单添加、可以自动解析(支持 otpauth schema url 、网站提供的二维码、google authenticator 导出的二维码)
    2. 删、改(issuer|account)、查(secret)、单个导出
    3. 同步
      先在 https://gist.github.com/ 创建一个 Gist ,其中的 Filename 为totp_secret_v2_backup.json(重要数据,不要选公开权限),然后点击 Github 图标按钮登录后点击 上传|下载 即可将相关数据同步。(当然,此处依赖客户端能够访问到 Github 网络,相信在 V2 不会是问题。因https://github.com/login/oauth/access_token有跨域问题,Github 本意此接口不允许在纯前端调用,所以此处使用自己的域名进行反代,以保证能够在前端正常获取到相关操作权限。)
    4. 批量导出
      JSON 文件的 导入|导出 ,点击相关按钮即可体验。目前未兼容导出到其他通用的格式,后续可能会兼容 google authenticator 。
    5. 其他
      一切数据都在 localstorage, 清理浏览器数据前请备份!善用 导出 以及 同步 功能。

    围观地址 https://xn--yp9h.eu.org/

    5 条回复    2023-10-24 02:05:31 +08:00
    tool2d
        1
    tool2d  
       2023-10-20 00:39:17 +08:00
    如果苹果的二次认证能添加就好了,似乎不是 TOTP 算法。
    9268peng
        2
    9268peng  
       2023-10-20 01:36:02 +08:00
    建议 gist 数据做加密,因为 gist 的不公开是不被搜索到,而不是彻底的无法被访问到,这种重要数据还是有必要做一份加密的。。
    最后这个想法是不错的,代码可以开源吗
    yumusb
        3
    yumusb  
    OP
       2023-10-20 09:45:09 +08:00 via Android
    @tool2d 苹果没有公开的密钥吧。
    yumusb
        4
    yumusb  
    OP
       2023-10-20 09:52:10 +08:00 via Android
    @9268peng 有拥有者的 token 或者 cookie 才可以访问到私有的 gist ,只要拥有者不主动授权就不会。如果主动授权给其他应用相关的读写权限后,能读到这个 gist ,是应该做个加密,不过代价就是每个用户需要单独记忆这个密码。 暂时不开源,未来如果修改成后端数据库以后会开源,现阶段没有开源的必要。代码本身没有任何限制,只有 webpack 的混淆,保存了直接能用。
    9268peng
        5
    9268peng  
       2023-10-24 02:05:31 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1580 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 16:58 · PVG 00:58 · LAX 08:58 · JFK 11:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.