JWT思维导图

本文探讨了JWT在微服务架构中的应用,包括JWT的工作流程、权限管理时序图,以及Spring Security如何简单整合JWT进行用户认证。还介绍了JWT的生命周期和验证流程,以及如何在Java中实现JWT的创建和验证。
摘要由CSDN通过智能技术生成

JWT的一些基础知识JWT(JSON Web Token)

在这里插入图片描述

JWT用户认证

在这里插入图片描述

jwt验证流程

在这里插入图片描述

Jwt权限时序图(微服务架构)

在这里插入图片描述

Jwt

在这里插入图片描述

Gateway微服务网关&JWT

在这里插入图片描述

JWT原理

spring security简单整合JWT的原理的一个记录,不全JWT原理
在这里插入图片描述

JWT生命周期

JWT流程、JWT工作流程、JWT系统应用于开发JWT生命周期
在这里插入图片描述

JWT流程

java学习JWT流程
在这里插入图片描述

jWT

jwt认证流程jWT
在这里插入图片描述

public class JwtSuccessAuthHandler implements AuthenticationSuccessHandler {

    private TokenService tokenService;

    public JwtSuccessAuthHandler(TokenService tokenService) {
        this.tokenService = tokenService;
    }

    @Override
    public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
        response.setContentType("application/json; charset=UTF-8");
        LoginUser principal = (LoginUser) authentication.getPrincipal();
        principal.setPassword(null);
        String token = tokenService.createToken(principal);
        //自定义header存放token
        response.setHeader("jwt_token", token);
        ResponseResult<String> result = ResponseResult.ok("登陆成功");
        PrintWriter out = response.getWriter();
        out.println(JsonUtils.objectToJson(result));
        out.flush();;
        out.close();
    }
}
public class JwtAuthFilter extends OncePerRequestFilter {

    private TokenService tokenService;


    public JwtAuthFilter(TokenService tokenService) {
        this.tokenService = tokenService;
    }

    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
        String token = request.getHeader("jwt_token");
        if (token != null) {
            Claims claims = tokenService.parseToken(token);
            LoginUser user = JsonUtils.parse(claims.get("user").toString(), LoginUser.class);
            Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
            if (user != null && authentication == null) {
                UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(user, null, user.getAuthorities());
                SecurityContextHolder.getContext().setAuthentication(authenticationToken);
            }
        }
        filterChain.doFilter(request, response);
    }
}

微服务鉴权方案-JWT

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值