跳到主要内容

1 篇Bubble 含有标签「Zitadel」

查看所有标签

使用单点登录

Jimmy Kmi
Give it a try, how will you know if you don't try?

最近在忙于英语的学习还有学校突如其来的、堆积如山的作业。首页这部分会暂时更新内容,特性的话等以后需要了再添加。

这是一段我在账号管理功能上的成长史,如果你只想了解现在我所使用的技术请跳过成长史部分。

成长史

  • 最早在 2008 年搭建我的第一个 page 的时候就想实现登录、注册等功能。当时正值小学期间,最多就只能通过 Excel 实现的账号管理登录。
  • 接下来是到了初中,接触了 VisualBasic,能方便地实现一个账号登录。但遇到了两个问题,一是VB程序很容易就被反编译出密码了,联网认证又不会(甚至不会写服务器端)。 二是一个exe程序还是经常更新的那种,很难给朋友随时演示,也不方便传播(毕竟谁知道你的程序会不会带病毒)
  • 接下来还是初中,用 VisualBasic 实现了多 Windows 服务器监控和基本管理、基础 Web 后端(返回个字符串之类的,什么标准什么Json根本没有)。 当然,网页端也实现了登录:基于404找不到 xxx.com/密码.html 实现的账号密码验证。
  • 到高中的时候,PHP 已经达到了“世界上最好的语言”。登录也实现了,但是账号密码存储方式是:基于文件存储。 回过头想想,数据库比我做的什么基于文件存储简单多了,但是我却从一个大家都走的平路和奇奇怪怪又难走的路线中选择了奇奇怪怪的路中最难走的一条。
  • 到大学时,有了自己的时间。现在不但用上了数据库,还用上了各种数据库和加密方式。下面就是最近更新的账号管理机制。

使用开源账户管理

选型介绍

目前,我对账号管理方法是域控+单点登录。虽然原理大部分都懂,也实现过,但是想要做成一套可视化界面实属工程量巨大。 所以我将目光瞄准到目前的开源项目中去,比如 Zitadel。根据 Zitadel 的 SDK 我也成功对接了不少平台,但其中也遇到了不少坑。 具体对接和部署的问题在 Blog 我就不一一赘述了,等我上岸(起码一只脚上岸)再整理这部分的资料。

担忧的点与解决方案(只要我不看他就没事)

  1. 这种项目会不会突然割韭菜?我认为的是,如果他割韭菜了,那就是时候自建了(或者找下一家)。
  2. 遇到 bug 自己又修不了很麻烦?既然是开源项目,提 pr 就好了,顺便成为开源社区的一员。
  3. 公开技术栈会不会遇到针对性攻击?会,但无可避免。 即使是自建也难免有漏洞,而且故意隐藏技术栈其实难度并不小,需要从底层或者核心修改大量信息,所以我个人来说,对于我的大多数项目我并不会选择刻意隐藏使用的任何技术栈。 只能做好蜜罐、攻击溯源、防火墙和服务与数据分离等手段。
  4. 认证系统会有流量攻击吗?会,过 CDN 只是为了静态响应更快。防御步骤分为以下内容:先分区清洗(地区、ASN、运营商)再到全量清洗、做好攻击溯源与特征记录(剩下靠法制)。 当然攻击意图也很重要,我分为三种情况:误打,无可避免。对于乱打,如果是因为觉得好玩...要不考虑下与我联系,互相交个朋友少个敌人?对于恶意打...我谢谢你啊?

账号分配

目前我可以公开使用的工具和服务会尽量开放,但是有些资源因为实在是成本太高了,或者出于保护机制(比如毕业设计内容),我不得不设置身份验证,请见谅。

能要账号吗?出于合规原因,我暂时不会向外提供任何信息登记渠道。如果你是高校、科研机构的导师、或者我的好朋友,请通过邮件或其他方式与我联系 jimmy@lzj.ac.cn。我会很高兴收到你的消息。