实现 Authing/Okta/Auth0 的难点在于?为什么这块还需要云服务?

299 天前
 annoygaga

如题,题主在思考为什么用户这种最重要的数据需要外包给 SaaS 服务,这块服务的痛点在哪里呢?

8230 次点击
所在节点    程序员
70 条回复
annoygaga
299 天前
@matrix1010 有什么开源的实现推荐,或者什么资料吗?我现在确实想完整看完学习一下
drymonfidelia
299 天前
@annoygaga 有空考虑这么多的时候你肯定已经赚够钱了,直接找 saas 的商务谈,钱够什么功能都能给你弄出来,不要尝试用技术解决非技术问题
matrix1010
299 天前
@annoygaga https://www.ory.sh/docs/kratos/ory-kratos-intro, kratos 是核心部分,ory 还有 hydra, oathkeeper 这些其他组件也可以看看。开源的好处是可以边看文档边看代码
matrix1010
299 天前
matrix1010
299 天前
其实核心在于 auth 本身是解耦的,在业务端可能只需要一个 id ,或者 jwt 里的 sub 。因此很适合单独做成服务。另一个就是正确,安全而且高效的实现 auth 并不容易,在程序员人手/水平不足的情况下使用现成服务更加合适。比如很多 gpt 套壳网站/应用,整个功能加起来可能都比 auth 简单很多
Mithril
299 天前
对于一个商业产品来说,“成本”并不只有开发和运行成本,也要包括审计合规,法务,数据保护等等。

而 auth 这东西就属于,你不能没有,开发起来难度也不高,但合规处理非常麻烦,想要防御针对性攻击更加麻烦,同时也不是核心的业务数据资产。
对于大多数业务模型来说,用户这东西只要是个唯一 ID 就行了,至于他叫什么名字,用什么邮箱并不是很重要。

而合规这玩意,不同国家地区的法律并不相同。虽说很多时候你的业务数据可能也算需要做合规审计的用户数据,但 auth 里面的东西一定是要做合规的。

对于一个风险很高,法务处理很麻烦,又不是很重要的东西,最好的选择自然就是外包了。
让第三方去提供各种合规审计,各种防护措施。远比你雇一整个团队去做更省成本。
cktsun
299 天前
這個問題就像問一些大公司為何要用 Cloudflare 一樣
ck65
299 天前
中小企业试错啥的,这种用户根本不产生什么收入,免费套餐吃到撑,属于欢迎来玩、祝您成功这类的。真正产生收入的是为了降低合规成本不得不把用户平台包出去的大企业,用买来的方案把 ISO 27001 、GDPR 之类的破玩意一口气全搞定,专心做业务和对付其他破事。所以「为什么这块还需要云服务?」没啥为什么,就是企业到了一个点之后用它就划算。

PS:根据官方信息,Auth0 过去经历的十轮融资止步于 2020 年,可以怀疑资本也产生类似 OP 的疑问了。
nuII
299 天前
对业务来说,在预算范围内能花钱解决的,都比自己干要好,赚钱的是业务带来的收益,而不是你的代码有多牛比
annoygaga
299 天前
@drymonfidelia 那比如说一些框架内内置的用户呢?比如典型的 Django 和这些的对比
0o0O0o0O0o
299 天前
> 难点在于?

The devil is in the details.

> 自己实现过 jwt/session 等,也用过各种语言的框架内的用户系统

推荐一篇文章,只吐槽了其中很小的一方面 https://x.com/Komodosec/status/1718028445299642562
annoygaga
299 天前
@matrix1010 感谢
javalaw2010
299 天前
@annoygaga #20 小公司活着已经很难了,这个月通常想的是下个月的事而不是明年甚至 5 年以后得事,真的赚到钱了在渐进式迁移回来也不迟。至于业务上的耦合很容易解决,提供接口给业务系统获取用户信息,业务系统根据自己的需求保留最小的用户信息丢到自己的表里。我们自己内部就有一个类似的 sass 平台提供类似 Auth0 的能力,当然我们是小公司所以只能最精简实现,在 sass 平台眼里估计连个 demo 也算不上,但管他呢,能用就行。
annoygaga
299 天前
@0o0O0o0O0o 感谢,我学习学习
annoygaga
299 天前
@cktsun 但这个东西进去容易,出去很难呀,出去甚至比迁移云平台还费劲
annoygaga
299 天前
@ck65 嗯嗯,所以我才合理好奇这块的痛点和难点,毕竟互联网从业者,谁不和账户系统打交道呢
annoygaga
299 天前
@nuII 如果这个钱是能随时抽身的是这样,但是用户系统迁移伤筋动骨,这个决策做了之后再改就很费解了呀
annoygaga
299 天前
@javalaw2010 嗯,其实我不是没用过这些,这些使用体验并没有想象中那么好,而且还存在一定的学习成本(比如各家都有各家的 SDK blabla )
Lockeysama
299 天前
经历过,原因其实挺简单的,有些客户要求安全等级高,不信任自己开发的用户系统,要求接入像 Auth0 这样的他们信任的系统。
annoygaga
299 天前
@Lockeysama 嗯嗯,所以想技术上来说,实现难点是?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1010604

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX