美文网首页
Auth的那些事儿

Auth的那些事儿

作者: jimson_ma | 来源:发表于2022-05-22 23:55 被阅读0次

来TW的4年了,一直没有换项目,也一直更客户构建一个auth中心,以供客户那边的所有产品服务。 4年来,风风火火,集成了很多系统,也陪走了很多团队。有一天碰到一个之前合作的同事说,你咋还在这个项目,这项目咋还没做完?嗯 ~~。

对啊,不就是个auth,简单的登录,几个页面,还集成了现成的IDP,做了4年还没有做完。为了证明我们没有摸鱼,有必要说说我们这些年为了auth,到底做了什么。

作为公司内部的项目,一开始,其实我们是并没有太多明确的需求的,我们都知道要做什么,但是具体都做什么,还不清楚。我们要做出个产品,然后在公司内部推销,让其他产品觉得好之后,丢弃他们现有的auth,跟我们集成。因此,我们也认为auth,不就是给个用户名密码,然后返回一个凭证(token)。顺便加上忘记密码,和用户注册三个页面解决了吗?也对,不够的话就再加个API版的。公司这边使用的都是AWS, 因此,我们选择了AWS Cognito userpool作为IDP, 几个月的功夫,我们的产品上线,第一个新客户快速集成,反馈不错。

上线了之后,我们趁着这股劲就去谈了公司使用用户基数最大的产品(几百万用户),他们也愿意跟我们集成(其实是公司的策略)。果然是大客户产品,一上来几个问题就抛了出来:安全,性能,集成和迁移, 数据同步和传输。还好,基于AWS这个大树,最终我们搭建了数据安全传输通道性能测试环境, 开启了多因子验证,基于事件的同步机制用户迁移和集成,及用户基本信息管理平台

随着越来越多产品的加入,需求不停的增加。产品要加强brand信息,所有的页面和通知都要根据不同的client定制内容和样式。甚至流程的定制化,比如有客户涉及到付款,不能满足于只在登录时多因子验证(MFA),因此我们开发了in-app challenge,允许客户端按需在任何过程中对用户发起验证。对客户的定制化还体现在了流行的social登录中。这里有个核心的问题是email相同的用户要不要合并账号,不同的客户对此要求不一样。很长的时间我们都在解决social登录的问题。

光说产品好不行,还得有良好的开发集成体验,毕竟我们产品的用户是跟我们集成的产品的开发人员。所以还要编写对应的SDK(包括mobile)和使用样本例子供客户快速集成,同时也开通了在线服务随时解答客户的问题。还少不了客户关注的各种监控和统计数据图表

这么多,够了吗?显然不够,上面的这些,主要核心解决了用户与产品之前的认证问题,但是在微服务的环境下,服务与服务之间的认证,是不是也要提供一下。为了不跟用户认证扯一起,我们单独开发了service到service之间的认证

以上这些都是我们做的关于AuthN的东西,但是auth 还有另外一个大头就是authZ,虽然不是一回事儿,但是很多客户认为就是一回事儿,所以我们也得管。因为我们为了适应大多数客户的需求,开发了一套基于ABAC协议的AuthZ产品,这部分这里就不阐述了,详情在我另外一篇博客.

其实刚上项目的时候,我也问过这样的问题,“这就个auth,有啥做的,会不会很快就结项了”。真是 “too young, too simple, sometimes naive”。到今天,项目依然继续,我们仍然在路上。同时也给想要做auth服务的你,给个参考,这坑不简单,甚至很好玩。

相关文章

  • Auth的那些事儿

    来TW的4年了,一直没有换项目,也一直更客户构建一个auth中心,以供客户那边的所有产品服务。 4年来,风风火火,...

  • 《汽车销售那些事儿》目录

    汽车销售那些事儿21汽车销售那些事儿20汽车销售那些事儿19汽车销售那些事儿18汽车销售那些事儿17汽车销售那些事...

  • auth 组件

    目录 auth模块介绍 auth模块的常用方法 扩展默认的auth_user表 1. auth模块介绍 用户认证系...

  • iOS 截图的那些事儿

    iOS 截图的那些事儿 iOS 截图的那些事儿

  • laravel常用方法

    1、用户方法 Auth::user() 可获取登录用户对象 Auth::logout() 用户退出 Auth::...

  • Runtime那些事儿(消息机制)

    Runtime那些事儿(消息机制) Runtime那些事儿(消息机制)

  • MVP那些事儿(1) 用场景说话

    目录 MVP那些事儿(1)……用场景说话 MVP那些事儿(2)……MVC架构初探 MVP那些事儿(3)……在And...

  • 19_Auth模块

    Auth模块 一、Auth模块是什么? Auth模块是Django自带的用户认证模块,可以快速的实现,登录,注销,...

  • Auth0 Java JWT

    本文介绍 Auth0 Java JWT 的使用方法。 目录 Auth0 Java JWT 简介 代码示例 Auth...

  • 2019-06-19【关于django中auth模块的表】

    参考博客 Django权限系统AUTH模块 auth模块相关的表 user表User是auth模块中维护用户信息的...

网友评论

      本文标题:Auth的那些事儿

      本文链接:https://www.haomeiwen.com/subject/bhglprtx.html