springCloud微服务系列——OAuth2+JWT模式下的【资源服务器】获得【自定义信息】

       回过头来说一下资源服务器的问题点吧,这里OAuth2+JWT用的是spring security,具体怎么用spring security搭建资源服务器我就不说了。这里要讨论的问题是这样的,我们希望在spring mvc中,直接通过如下的形式获得登录用户信息

@GetMapping("/me")
public Authentication me(OAuth2Authentication user) {
	ProcessUser principal = (ProcessUser) user.getPrincipal(); // 获得自己实现的类
	return user;
}

        其中ProcessUser是我们自己实现的类,包含了通过tokenEnchance扩展的自定义用户信息。

        一、spring security资源服务器源码解析

        为了找到实现的思路,我们需要分析源码,找寻线索。和之前的文章一样,我把执行的关键部分总结成了一张图,有兴趣的可以自己打断点跟踪一遍。这里要吐槽一下,本来用写得画的图,画到一般出bug了,所以后面一部分用的excel


    大体的流程再总结一下:资源认证服务器filter->AuthenticationManager->DefaultTokenServices->JwtTokenStore->JwtAccessTokenConverter->DefaultAccessTokenConverter

  大体思路也总

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot是一个用于构建独立的、生产级别的基于Spring的应用程序的框架,而Spring Security是Spring的一个强大的安全框架,用于身份验证和授权。OAuth2是一种用于授权的开放标准,JWT是一种用于在用户和服务器之间传递安全信息的开放标准。这些技术的整合可以帮助我们构建一个完善的认证服务器,网关和微服务之间的权限认证系统。 首先,我们可以使用Spring Boot整合Spring Security来构建认证服务器。通过Spring Security提供的各种认证和授权功能,我们可以实现用户的身份验证和授权管理。然后,结合OAuth2的开放标准,我们可以实现用户的授权码、密码、客户端凭证和刷新令牌等授权方式,从而提高系统的安全性和灵活性。 接着,我们可以利用Spring Boot搭建网关来统一管理微服务之间的访问权限。通过网关,我们可以对各个微服务进行统一的权限验证和访问控制,从而实现统一的安全管理和监控。 最后,我们可以在微服务中集成JWT来实现基于令牌的安全验证。JWT可以帮助我们在客户端和服务器之间传递安全信息,并通过签名和加密保障信息的安全性。 总之,通过Spring Boot整合Spring Security、OAuth2和JWT,我们可以构建一个完善的认证服务器、网关和微服务之间的权限认证系统,从而实现系统的安全可靠和权限灵活控制。这将有助于我们构建高效、安全的微服务架构,并为用户提供更加可靠的服务。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值