SpringCloud 微服务开发JWT认证流程

服务端自主验签方案

 执行流程:

  1. 第一步,认证中心微服务负责用户认证任务,在启动时从 Nacos 配置中心抽取 JWT 加密用私钥;
  2. 第二步,用户在登录页输入用户名密码,客户端向认证中心服务发起认证请求 
    http://usercenter/login #认证中心用户认证(登录)地址
  3. 第三步,认证中心服务根据输入在用户数据库中进行认证校验,如果校验成功则返回认证中心将生成用户的JSON数据并创建对应的 JWT 返回给客户端
  4. 第四步,在收到上述 JSON 数据后,客户端将其中 token 数据保存在 cookie 或者本地缓存中;
  5. 第五步,随后客户端向具体某个微服务发起新的请求,这个 JWT 都会附加在请求头或者 cookie 中发往 API 网关,网关根据路由规则将请求与jwt数据转发至具体的微服务。中间过程网关不对 JWT 做任何处理;
  6. 第六步,微服务接收到请求后,发现请求附带 JWT 数据,于是将 JWT 再次转发给用户认证服务,此时用户认证服务对 JWT 进行验签,验签成功提取其中用户编号,查询用户认证与授权的详细数据
  7. 第七步,具体的微服务收到上述 JSON 后,对当前执行的操作进行判断,检查是否拥有执行权限,权限检查通过执行业务代码,权限检查失败返回错误响应

    

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud是基于Spring框架的一套完整的微服务解决方案,它为构建分布式系统提供了许多工具和服务,旨在简化服务之间的集成和通信。以下是Spring Cloud的主要组成部分和开发要点: 1. **服务发现**(Service Discovery):Spring Cloud Netflix的Eureka或Consul用于服务注册与发现,使服务能够动态地查找其他服务的实例。 2. **配置中心**(Config Server):如Spring Cloud Config Server,提供统一的配置管理,避免了每个服务单独配置的复杂性。 3. **负载均衡**(Load Balancer):Spring Cloud Ribbon支持配置客户端负载均衡,使得流量可以自动分配到后端的服务集群。 4. **断路器**(Circuit Breaker):Hystrix是一个断路器模式的实现,当后端服务不可用时,可以保护调用者免受雪崩效应。 5. **微服务网关**(API Gateway):Spring Cloud Gateway提供API路由、安全控制和监控等功能。 6. **服务调用**(Feign或Ribbon):使用这些工具可以轻松创建对远程服务的无侵入调用。 7. **消息队列**(Message Brokers):如RabbitMQ或Kafka,用于异步通信和解耦。 8. **服务追踪**(Tracing):Zipkin或Jaeger可以帮助追踪服务间的调用链路,用于性能分析。 9. **安全**(Security):Spring Cloud Security提供了OAuth2、JWT等安全机制。 在开发Spring Cloud应用时,通常会采用模块化的设计,每个模块代表一个独立的服务,并通过约定优于配置的方式与其他服务交互。开发流程可能包括定义服务接口、配置服务中心、使用Spring Boot启动微服务、连接数据源等步骤

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值