zoukankan      html  css  js  c++  java
  • JWT工具类

    package com.ynhrm.common.utils;

    import io.jsonwebtoken.Claims;
    import io.jsonwebtoken.JwtBuilder;
    import io.jsonwebtoken.Jwts;
    import io.jsonwebtoken.SignatureAlgorithm;
    import lombok.Data;
    import lombok.Getter;
    import lombok.Setter;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;

    import java.util.Date;
    import java.util.Map;



    @Component
    @ConfigurationProperties("jwt.config")
    @Data
    public class JWTUtils {
    private String key;//签名私钥
    private Long ttl;//签名失效时间
    /* private String key="zcc-ynhrm";
    private int ttl=3600000;*/

    /**
    * 设置认证token
    * 参数:
    * id:登陆用户id
    * subject(主题):登陆用户名
    */
    public String createJWT(String id, String subject, Map<String,Object> map){
    //1.设置失效时间
    long now=System.currentTimeMillis();//当前毫秒数
    long exp=now+ttl;
    //2.创建jwtBuilder
    JwtBuilder jwtBuilder = Jwts.builder().setId(id).setSubject(subject)
    .setIssuedAt(new Date())
    .signWith(SignatureAlgorithm.HS256, key);
    //3.通过map设置claims,指定失效时间
    for (Map.Entry<String,Object> entry:map.entrySet()){
    jwtBuilder.claim(entry.getKey(),entry.getValue());
    }
    //jwtBuilder.setClaims(map);
    jwtBuilder.setExpiration(new Date(exp));
    //4.创建token
    String token = jwtBuilder.compact();
    return token;
    }

    /**
    * 解析token字符串获取clamis
    */

    public Claims parseJWT(String token){
    Claims claims = Jwts.parser().setSigningKey(key).parseClaimsJws(token).getBody();
    return claims;
    }
    }
  • 相关阅读:
    sql 行转列
    wm_concat函数 用法
    PL/SQL如何调试Oracle存储过程
    Oracle&SQLServer中实现跨库查询
    Oracle 中 decode 函数用法
    Oracle中给用户赋予debug权限
    Oracle中的NVL函数
    oracle 触发器 pragma autonomous_transaction
    ORACLE中%TYPE和%ROWTYPE的使用
    A complete example using RAISE_APPLICATION_ERROR : raise_application_error
  • 原文地址:https://www.cnblogs.com/yscec/p/11903598.html
Copyright © 2011-2022 走看看