微服务下认证授权框架的探讨
前言
市面上关于认证授权的框架已经比较丰富了,大都是关于单体应用的认证授权,在分布式架构下,使用比较多的方案是--<应用网关>,网关里集中认证,将认证通过的请求再转发给代理的服务,这种中心化的方式并不适用于微服务,这里讨论另一种方案--<认证中心>,利用jwt去中心化的特性,减轻认证中心的压力,有理解错误的地方,欢迎拍砖,以免误人子弟,有点干货,但是不多
需求背景
一个项目拆分为若干个微服务,根据业务形态,大致分为以下几种工程
1.纯前端应用
示例,一个简单的H5活动页面,商户仅仅需要登录,就可以参与活动
2.前后端分离应用
示例,如xxx后台,xxxApi,由一个前端项目+一个后端项目组成
3.客户端应用
示例,控制台项目,如任务调度,挂机服务
现在有N个项目,每个项目又由N个微服务组成,微服务之间需要一套统一的权限管理,它需要同时满足商户(客户)在多个项目间无感切换,也需要满足开发者应用之间调用的认证授权
示例,xxx开放平台,一般有两个角色,商家和开发者, 开发者创建应用,研发,上线应用, 商家申请应用,使用应用
开发者A,注册成为xxx开放平台的开发者,......
暂无评论...