springsecurity+oauth2.0分布式认证授权-完结篇测试验证11

一 总结

1.1 分布式Oatuh认证授权流程图

1.案例流程描述

1.API 网关在认证授权体系里主要负责两件事:
( 1 ) 作为OAuth2.0的资源服务器角色,实现接入方权限拦截。
( 2 ) 令牌解析并转发当前登录用户信息(明文token)给微服务,
2.微服务拿到明文token( 明文 token 中包含登录用户的身份和权限信息 ) 后也需要做两件事:
( 1 ) 用户授权拦截(看当前用户是否有权访问该资源)
( 2 ) 将用户信息存储进当前线程上下文(有利于后续业务逻辑随时获取当前用户信息)
原文链接:https://blog.csdn.net/u011066470/article/details/120089909

2.架构图

1.4 代码地址

https://github.com/quanxianguanli-springsecurity/spt-ds-oauth-server.git

1.代码地址

https://gitee.com/jurf-liu/spring-security-project.git

 2.视频地址

   01.认证授权课程介绍_哔哩哔哩_bilibili

3.资料地址

 1.3 知识点汇总:  

1.4 spring security采用Api方法 

 二  完整总结测试

2.1 流程描述

本案例测试过程描述:
1 、采用 OAuth2.0 的密码模式从 UAA 获取 token
2 、使用该 token 通过网关访问订单服务的测试资源
3. 请求时使用网关端口(53010)进行访问,访问uaa的授权及获取令牌,获取token。注意端口是53010,网关的端口。不再使用具体微服务的端口。
应用名称端口
eureka53000
网关53010
order资源服务53021
uaa认证服务53020

2.2 启动服务

1.先启动eureka,gateway,order,uaa,如下图所示:

1.erureka启动

2.网关启动


3.资源服务启动

 4.认证授权服务启动

2.3 使用密码模式获取token

使用密码模式,通过网关访问认证服务器获取token:

http://localhost:53010/uaa/oauth/token

方式:post

请求类型:  x-www-form-urlencoded 

 2.4 使用密码模式验证token

http://localhost:53020/uaa/oauth/check_token

方式:post

请求类型:  x-www-form-urlencoded 

2.5 通过网关访问资源

访问地址:http://localhost:53010/order/r1 

方式:post

请求类型:  x-www-form-urlencoded 

在headers中设置

Authorization  为 token  前面获取token的值,复制到此处。

三  用户信息扩展的获取

3.1 用户信息扩展的获取

目前jwt令牌存储了用户的身份信息、权限信息,网关将token明文化转发给微服务使用,目前用户身份信息仅包括 了用户的账号,微服务还需要用户的ID、手机号等重要信息。

JWT令牌中扩展用户信息的方案:

1.在uaa认证时候,放入完整的信息。从数据库查询到user,将整体user转成json存入userDetails对象。

 2.资源服务中的过虑器负责 从header中解析json-token,从中即可拿网关放入的用户身份信息,部

3.使用获取

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值