博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分布式认证-技术方案
阅读量:2163 次
发布时间:2019-05-01

本文共 794 字,大约阅读时间需要 2 分钟。

根据 选型的分析,决定采用基于token的认证方式,它的优点是:

1、适合统一认证的机制,客户端、一方应用、三方应用都遵循一致的认证机制。

2、token认证方式对第三方应用接入更适合,因为它更开放,使用当前有流行的开放协议Oauth2.0、JWT。

3、一般情况服务端无需存储会话信息,减轻了服务端的压力。

分布式系统认证技术方案见下图:

流程描述:

(1)接入方(需要使用平台资源的统称为接入方)采取OAuth2.0方式请求统一认证服务(UAA)进行认证。

(2)认证服务(UAA)调用统一账号服务去查询该用户信息及其权限信息。(第三方应用接入不需要该步骤)

(3)认证服务(UAA)验证登录用户及第三方应用合法性。

(4)若接入方身份合法,认证服务生成jwt令牌返回给接入方,其中jwt中包含了权限信息。

(5)接入方携带jwt令牌对API网关内的微服务资源进行访问。

(6)API网关对令牌解析、并验证接入方的权限是否能够访问本次请求的微服务。

(7)如果接入方的权限没问题,API网关将Token转发至微服务。

(8)微服务收到请求,明文token中包含登录用户的身份和权限信息,后续微服务使用用户身份及权限信息。

流程所涉及到统一账号服务、UAA服务、API网关这三个组件职责如下:

1)统一账号服务

提供商户和平台运营人员的登录账号、密码、角色、权限、资源等系统级信息的管理,不包含用户业务信息。

2)统一认证服务(UAA)

它承载了OAuth2.0接入方认证、登入用户的认证、授权以及生成令牌的职责,完成实际的用户认证、授权功能。

3)API网关

作为系统的唯一入口,API网关为接入方提供定制的API集合,它可能还具有其它职责,如身份验证、监控、负载均衡、缓存等。API网关方式的核心要点是,所有的接入方和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。

 

转载地址:http://ktbzb.baihongyu.com/

你可能感兴趣的文章
利用jekyll在github中搭建博客
查看>>
Windows7中IIS简单安装与配置(详细图解)
查看>>
linux基本命令
查看>>
BlockQueue 生产消费 不需要判断阻塞唤醒条件
查看>>
强引用 软引用 弱引用 虚引用
查看>>
数据类型 java转换
查看>>
"NetworkError: 400 Bad Request - http://172.16.47.117:8088/rhip/**/####t/approval?date=976
查看>>
mybatis 根据 数据库表 自动生成 实体
查看>>
win10将IE11兼容ie10
查看>>
checkbox设置字体颜色
查看>>
第一篇 HelloWorld.java重新学起
查看>>
ORACLE表空间扩张
查看>>
orcal 循环执行sql
查看>>
web.xml配置监听器,加载数据库信息配置文件ServletContextListener
查看>>
结构型模式之桥接模式(Bridge)
查看>>
行为型模式之状态模式(State)
查看>>
行为型模式之策略模式(Strategy)
查看>>
行为型模式之模板方法模式(TemplateMethod)
查看>>
行为型模式之访问者模式(Visitor)
查看>>
大小端详解
查看>>