嗨,HN,
我们一直在开发CredAnt,这是一种新的远程网络解决方案,优先考虑简单性和去中心化。厌倦了复杂的VPN配置和对集中式服务器的担忧吗?我们也是。
CredAnt的设计旨在极其简单易用。我们的目标是零配置:安装后,您就可以像在同一局域网一样,轻松连接到您的远程设备。
返回首页
最新
我正在构建一个应用程序,并且不打算使用引用的令牌,因此选择使用JWT(JSON Web Tokens)。但是,有一个要求是管理员需要能够撤销用户会话,这就需要在数据库中存储JWT、它们的ID或某些哈希值,并增加额外的查找。对于一个用户来说,这意味着如果他们在多个设备上生成了多个JWT,就需要撤销他们可能生成的所有JWT,而我们并不知道具体要撤销哪些令牌。
我的解决方案是添加两个声明(id和sid),并在用应用程序密钥签署令牌之前,使用用户密钥对sid进行签名。
当令牌到达时,我首先用应用程序密钥进行验证。如果无效或已过期,我们返回401状态码。
如果有效,我会使用用户密钥验证sid,因为我现在知道它属于谁。
对用户密钥的额外查找带来的开销非常小,因为我们已经进行了预认证,可以视为业务逻辑。
因此,撤销所有用户会话只需更改用户的密钥即可。
你们对此有什么看法?有没有漏洞?
我很高兴与大家分享我的第二个SaaS项目,RankResume(<a href="https://rankresume.io" rel="nofollow">https://rankresume.io</a>),这是在我首次推出的项目IdeaPulse(<a href="https://ideapulse.io" rel="nofollow">https://ideapulse.io</a>)之后的又一成果。作为一名求职者,我对每次申请都需要不断调整简历以通过ATS筛选并获得第一次电话面试感到沮丧。因此,我创建了RankResume来解决这个问题,用户只需上传简历并提供职位描述或网址,系统就会生成一份量身定制的简历和求职信,突出与该特定机会最相关的技能和关键词。
我之所以开发这个工具,是出于个人的需求,并相信即使在求职申请过程中进行小的改进也能带来巨大的变化。
我已经在使用这个工具,并且下周获得了几次电话面试的机会。
现在注册时我提供3个免费积分(3份量身定制的简历)。我非常希望听到你的反馈或建议。
感谢你关注这个项目!
我几个月前制作的游戏发布倒计时页面在倒计时结束后变得过时,但开发者喜欢将可重用的代码模块化,因此我创建了timered-counter。