Transcript
00:00:00在遇到登录页面之前,你的技术栈看起来可能很整洁。
00:00:03一个服务用于本地认证,另一个没有多因素认证,还有一个拥有完全不同的
00:00:08用户系统。现在你还得管理 Docker 或 Kubernetes 中不同的登录信息。这在出问题之前
00:00:14运行得还行。这就是 Authentic。一个自托管工具,为你提供 SSO、MFA、
00:00:20通行密钥,以及跨一切应用的中央控制。我会在接下来的几分钟里向你展示如何部署
00:00:25以及如何进行设置。
00:00:30[音乐]
00:00:32Authentic 是一个开源的自托管身份提供商。基本上,它成为了你所有应用的
00:00:39登录系统。与其让每个服务各自糟糕地处理认证,或者我们自己把它们
00:00:44拼凑在一起,Authentic 在一个地方处理这一切。我获得了 SSO、多因素认证、
00:00:50用户管理和访问控制。就像 Okta,但因为它是开源的,所以你真正拥有它。
00:00:56它支持你所期望的一切,但这里有很大的不同。与其与
00:01:01XML 配置作斗争,或者被困在 SaaS 规则中,Authentic 使用流程、阶段和 Python 策略。
00:01:08所以你可以像开发人员一样构建认证逻辑。这就是赢面所在。这确实减少了碎片化,
00:01:14更好的安全性,且没有厂商锁定。如果你喜欢能加速工作流的工具,
00:01:18请务必订阅。我们一直在发布视频。
00:01:21越来越多的开发者正在远离笨拙的设置和云 IDP,不是因为 Authentic 更小,
00:01:28而是因为它的可用性更高。让我向你展示它实际是什么样子的。
00:01:32现在我用的是一台全新的服务器,只需一个命令 "docker compose up",Authentic 就运行起来了。
00:01:39这真的是我们需要做的全部。现在我可以打开管理界面,创建一个应用,
00:01:44并且可以将 OAuth 作为提供商添加进去,或者在这里选择任何其他方式。这花不到 30 秒。
00:01:50接下来,我启动一个演示应用。这里并没有什么复杂的东西。我只是要设置
00:01:54重定向 URL 为 localhost,填入我从 Authentic 获得的客户端 ID 和密钥,然后登录。
00:02:01真的就是这样。我可以在这里添加新用户并用它们来登录,
00:02:07所以现在我以用户身份而不是管理员身份拥有了访问权限。我没有自定义登录页面,
00:02:13没有需要尝试维护的密码系统,也没有跨服务的拼凑式认证。
00:02:19这大约花了 90 秒,而这个应用现在有了更具生产级别的身份验证。
00:02:24这就是一切豁然开朗的时刻。看起来它应该很复杂,
00:02:27但实际上它相当简单。我可以在这里链接起整个认证系统,
00:02:32选择我想在 Authentic 上如何操作。但现在这该如何比较呢?因为还有其他选择。
00:02:38我们有 Keycloak。Keycloak 很棒,但它仍然感觉沉重且老旧,更偏向企业级。
00:02:45Authelia 很轻量,但你很快就会超出它的适用范围。然后我之前提到的 Okta,
00:02:50或者 Auth0。这些很精致,但我们得花钱,尤其是当你用户多了以后。
00:02:56Authentic 算是介于这一切之间,对吧?有完整的身份管理,
00:03:01有一个可视化的流程构建器,它非常灵活,我们不必支付所有这些昂贵的
00:03:05SaaS 费用。现在它确实有一个付费版本,好吧,我一点也不喜欢这样,但开源版本对
00:03:12我们很多人来说,已经可以做很多事情了。如果你在大规模扩展,那么你确实需要为此
00:03:16付费。再说一次,我喜欢开源工具。这确实是开源的,但如果你要大规模扩展,我们确实得付点钱。
00:03:22用户界面现代且直观。流程图让你能可视化地
00:03:27构建登录逻辑。所以所有这些都很棒。而且拥有那些 Python 策略让你在配置不够用时
00:03:33能进行详细的自定义。它不仅适用于 Kubernetes,而且是 API 驱动的。
00:03:40所有这些都非常好。此外,你可以在一个地方获得集中的 MFA 用户管理和服务
00:03:47门户。现在,它也有缺点。首先,是的,它是开源的。对于我们中的许多人来说,
00:03:52这很棒。但正如我提到的,随着你成长,你需要付费,我想这和任何服务一样,肯定。
00:03:58但你仍然不喜欢在达到一定限制后不得不付费。我不喜欢
00:04:04那样,对吧?它有学习曲线。老实说,安装它确实让人困惑,
00:04:09但一旦运行起来,它的效果非常好。它比超轻量工具
00:04:13要重一些。大约需要 2GB 的内存。而且如果你不运行高可用性架构,它就成了
00:04:19单点故障。所以它并不完美,但对于大多数开发者,我们得出了相同的结论,
00:04:26对吧?起初很难学习,但一旦上手,它确实非常有用。
00:04:30它真的很棒。它把很多不同的东西连接在一起。那么,它值得吗?好吧,
00:04:35你们自己判断吧。我的意思是,如果你运行自托管栈,比如家庭实验室、
00:04:40内部工具、SaaS、本地应用,那它会很棒。它对于这些非常有用。
00:04:45如果你想要到处都有真正的 SSO 和 MFA,它解决了你已经有的问题。如果你想要
00:04:50控制权而不是受困于定价,它就更有意义了。如果你需要自定义认证逻辑,
00:04:56这正是它表现出色的地方。现在,它做得很好,但如果你想要
00:05:00几乎无需设置的超轻量工具,它就不适合你了。你需要设置这个。或者如果你
00:05:06真的在进行大规模扩展,那么老实说,其他付费提供商会更好。但对我们大多数人来说,
00:05:11一旦你设置好了,事情就会发生改变,认证不再分散在每个应用中,
00:05:16而变成了一个你真正控制的系统。一旦你习惯了它,就很难回去了。至少这很有意义。
00:05:22这是一个很好的工具,可以纳入我们的工作流中。如果你喜欢开源工具
00:05:27和能加速工作流的编码技巧,请务必订阅 Better Stack 频道。
00:05:32我们下个视频见。