springboot token生成方式

/**
     * token秘钥 统一使用的秘钥
     */
    public static final String SECRET_UNIFORM = "XDD6897!&@#.,?";
    /**
     * token 过期时间: 3天
     */
    public static final int calendarField = Calendar.DATE;
    public static final int calendarInterval = 3;
	  Calendar nowTime = Calendar.getInstance();
        nowTime.add(calendarField, calendarInterval);
        Date expiresDate = nowTime.getTime();
        Map<String, Object> map = new HashMap<>();
        map.put("alg", "HS256");
        map.put("typ", "JWT");
        String tokenKey = tokenType.getType() + userId.toString();
        
		String token = JWT.create().withHeader(map) // header
                    .withClaim("iss", "Service") // payload
                    .withClaim("aud", "APP")
                    .withClaim("userId", null == userId ? null : userId.toString())
                    .withClaim("type",tokenType.getType())
                    .withClaim("tokenKey",tokenKey)
                    .withArrayClaim("roles", roles)
                    .withIssuedAt(iatDate) // sign time
                    .withExpiresAt(expiresDate) // expire time
                    .sign(Algorithm.HMAC256(SECRET_UNIFORM)); //

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot生成Token方式有多种选择,以下是其中几种常见的方式: 1. 使用JSON Web Token(JWT):JWT是一种开放标准,可以在用户和服务器之间传递安全信息。在Spring Boot中,你可以使用第三方库(例如jjwt)来生成和验证JWT。首先,你需要在后端生成一个JWT,将用户信息和其他必要的信息(例如过期时间)加密到JWT中,并将其返回给客户端。客户端在后续的请求中将JWT放入请求的Header或Cookie中,服务器端在接收到请求后可以解析JWT并验证其有效性。 2. 使用OAuth2:OAuth2是一种授权框架,用于授权第三方应用访问受保护的资源。在Spring Boot中,你可以使用Spring Security OAuth2模块来实现OAuth2认证和授权。你可以配置一个授权服务器来生成和管理访问令牌(Token),客户端通过向授权服务器发送认证请求获取Token,并在后续的请求中携带Token来获取资源。 3. 使用Session和Cookie:传统的方式是使用Session和Cookie来管理用户身份认证。在Spring Boot中,你可以使用Spring Session模块来管理Session,并结合Spring Security来处理身份认证。当用户登录成功后,服务器会创建一个唯一的Session ID,并将其存储在Cookie中发送给客户端。客户端在后续的请求中携带该Cookie,服务器通过Session ID来判断用户的身份。 这些是一些常见的生成Token方式,你可以根据你的需求和项目的特点选择合适的方式来实现Token生成和验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值