44 | 实战(四):“画图”程序后端实战
许式伟
该思维导图由 AI 生成,仅供参考
你好,我是七牛云许式伟。
上一讲我们介绍了帐号与授权相关的基础体系,并重点介绍 OAuth 2.0 背后的逻辑。今天我们开始考虑如何让 QPaint 引入帐号与授权体系。
最常规的做法,当然是自己建立一个帐号数据库,做基于用户名 + 密码的登录授权并转为基于 Cookie 的会话(Session)。示例如下:
但我们考虑提供 Open API 的话,就需要考虑遵循 OAuth 2.0 的授权协议规范,以便第三方应用可以快速接入,而不是搞半天去研究我们自己发明的授权是怎么回事。
除此之外,我们也可以考虑基于微信、支付宝等 OpenID 来实现用户的快速登录,而不是让用户在注册环节折腾半天。
这个选择与业务无关。所以很自然地,我们决定评估一下,看看是否有开源项目和我们想得一样。
最后,我们发现 CoreOS 团队搞了一个叫 dex 的项目,如下:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了如何基于OAuth 2.0来改造QPaint的帐号与授权机制。作者首先介绍了建立帐号数据库并实现基于用户名+密码的登录授权的常规做法,然后提出了考虑提供Open API时需要遵循OAuth 2.0的授权协议规范的必要性。接着,作者介绍了基于微信、支付宝等OpenID来实现用户快速登录的方式,并提到了CoreOS团队开发的dex项目,该项目基于各类主流的OpenID来提供帐号系统,并通过OAuth 2.0协议对客户端提供授权服务。文章还介绍了dex在联邦OpenID和提供OpenID + OAuth 2.0服务方面的支持,并提供了相关的链接供读者参考。最后,作者指出了使用dex服务后,QPaint业务可以支持帐号与授权,并提供了相关的SDK和对接dex的详细说明文档。总的来说,文章强调了基于OAuth 2.0和OpenID来改造帐号与授权机制的重要性,并介绍了相关的开源项目和SDK,为读者提供了实践的参考。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《许式伟的架构课》,新⼈⾸单¥68
《许式伟的架构课》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(7)
- 最新
- 精选
- sswrock按DDD的观点,认证模块属于通用域,业绩有现成的应该直接拿来用(因为是通用域,业界正常都有极其成熟的实现),不必重复写轮子。 时间和精力应该花在产品本身的核心域上,对应这个实战:也就是Drawing的业务表达
作者回复: 是的
2019-12-094 - 哈德韦很感谢通过老师的课程了解到 dex。另外请问老师怎么评价 keycloak (https://github.com/keycloak/keycloak)?因为正好在选择单点登录的方案,不知道该选哪个?
作者回复: 我需要先研究一下
2020-07-152 - 泡泡龙许老师,github上 v44 和 v42 代码是一样的
作者回复: 多谢指出
2020-03-052 - ezra.xu请问老师,怎么把微信,支付宝或者自定义的openid集成到dex?
作者回复: 这个问题,我倾向于把它作为这个课程的作业。你可以试试自己做做看。
2019-09-251 - pedro立个 flag,完整的实现一下老师的项目2020-04-033
- Aaron Cheung很好的介绍 打卡442019-09-242
- 不温暖啊不纯良今天老师介绍了dex认证框架支持的鞋子,这章重点概念梳理。 openid协议。 复制用户到其他被授权的app,让其可以使用我方数据库维护的用户。2021-04-30
收起评论