分布式系统认证方案

b站黑马Spring Security视频笔记

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

在这里插入图片描述

流程描述:

  1. 用户通过接入方(应用)登录,接入方采取OAuth2.0方式在统一认证服务(UAA)中认证。

  2. 认证服务(UAA)调用验证该用户的身份是否合法,并获取用户权限信息。

  3. 认证服务(UAA)获取接入方权限信息,并验证接入方是否合法。

  4. 若登录用户以及接入方都合法,认证服务生成jwt令牌返回给接入方,其中jwt中包含了用户权限及接入方权
    限。

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

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

  7. 如果接入方的权限没问题,API网关将原请求header中附加解析后的明文Token,并将请求转发至微服务。

  8. 微服务收到请求,明文token中包含登录用户的身份和权限信息。因此后续微服务自己可以干两件事:

    1. 用户授权拦截(看当前用户是否有权访问该资源)

    2. 将用户信息存储进当前线程上下文(有利于后续业务逻辑随时获取当前用户信息)

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

  1. 统一认证服务(UAA)
    它承载了OAuth2.0接入方认证、登入用户的认证、授权以及生成令牌的职责,完成实际的用户认证、授权功能。
  2. API网关
    作为系统的唯一入口,API网关为接入方提供定制的API集合,它可能还具有其它职责,如身份验证、监控、负载均
    衡、缓存等。API网关方式的核心要点是,所有的接入方和消费端都通过统一的网关接入微服务,在网关层处理所
    关方式的核心要点是,所有的接入方和消费端都通过统一的网关接入微服务,在网关层处理所
    有的非业务功能。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值