分享 使用 Sorcery 做用户 Authentication 视频小教程

FinnG · April 10, 2022 · Last by xianyuit replied at April 13, 2022 · 365 hits

被 Turbo 和 Devise 的搭配困扰了很久后学习了一下 Sorcery 这个 authentication 的 gem, 没有了 Devise 那么多开箱即用 (Turbo 以前) 的功能,但是也不会带来太多的麻烦。

小教程基本是根据 Sorcery 里的 Wiki 的基本密码登录的例子做的,自己在用的过程中补了一些小坑。

这个例子还是 monolith 的 app, 如果要前后端分离的话还有其他工作需要做。

这次换了一个不破音的麦克,而且加了中文字幕。

B 站链接

油管链接

欢迎提建议讨论!

认证系统还是要自己写好,devise 啥的,都不灵活

Reply to xianyuit

大部分情况下是可以的,但是有的时候自己写不一定那么面面俱到。举个例子比如说,如果攻击者猜的 email 系统内没有,那么后端也不会运行 password 的加密算法,所以返回结果是很快的,阻止了登录。但是这种快速的响应会让攻击者知道这个 email 系统内是没有的,那么它就可以很快的去尝试下一个 email. 而 Devise 或者 Sorcery 都会处理这个情况,即使 email 是不存在的,它们还是会打一个时间差,不会马上返回结果,这样攻击者就无法猜出 email 是有还是没有😁 当然了如果是内部系统啥的,这些就不必考虑,自己 roll 一个 has_secure_password 的认证系统就可以了!

Reply to FinnG

也许吧,简单用用还行的,遇到一些复杂的,还是要用自己的好一些😀

You need to Sign in before reply, if you don't have an account, please Sign up first.