App登录-确保用户使用服务器进行登录
创始人
2024-09-10 02:30:50
0

在前后端交互时,首先由客户端发送用户的登录凭证到服务器,然后服务器进行验证,验证成功后服务器返回一个包含加密后的访问令牌(access token)和刷新令牌(refresh token)的响应。客户端拿到这些令牌后存储在本地,以便之后的每次请求都带上这些令牌用来访问需要认证的API。这个过程中,服务器会根据令牌的有效性来确定是否让客户端操作API。以下是一个基于Spring Boot框架和JWT的代码示例:

前端代码:

fetch(url, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    username: 'your_username',
    password: 'your_password'
  })
}).then(res => res.json())
  .then(data => {
    //存储access_token和refresh_token到本地
    localStorage.setItem('access_token', data.access_token);
    localStorage.setItem('refresh_token', data.refresh_token);
  });

后端代码:

@Component
public class JwtTokenProvider {
  private final String JWT_SECRET = "your_jwt_secret";

  @Value("${jwt.expiration.time}")
  private Long JWT_EXPIRATION_TIME;

  public String generateToken(Authentication authentication) {
    User user = (User) authentication.getPrincipal();
    Date now = new Date();
    Date expiryDate = new Date(now.getTime() + JWT_EXPIRATION_TIME);

    String userId = Long.toString(user.getId());
    Map claimsMap = new HashMap<>();
    claimsMap.put("id", (Long.toString(user.getId())));
    claimsMap.put("username", user.getUsername());
    claimsMap.put("fullName", user.getFullName());

    return Jwts.builder()
            .setSubject(userId)
            .addClaims(claimsMap)
            .setIssuedAt(now)
            .setExpiration(expiryDate)
            .signWith(SignatureAlgorithm.HS512, JWT_SECRET)
            .compact();
  }

  public

相关内容

热门资讯

玩家必看科普!胡乐辅助脚本可靠... 玩家必看科普!胡乐辅助脚本可靠吗,途游手游辅助(有挂分享辅助神器);无需打开直接搜索薇:136704...
科技通报!丽水都来脚本辅助,中... 科技通报!丽水都来脚本辅助,中至余干小程序辅助安装(有挂详情辅助工具)您好:中至余干小程序辅助安装这...
一分钟快速了解!新悠悠拼十辅助... 您好:这款科乐天天踢辅助视频游戏是可以开挂的,确实是有挂的,很多玩家在这款科乐天天踢辅助视频游戏中打...
玩家必看科普!潮汕来物局游戏源... 玩家必看科普!潮汕来物局游戏源码,小程序微乐辅助软件(有挂秘笈辅助开挂神器);无需打开直接搜索微信(...
总算了解!宝宝游戏浙江辅助器,... 总算了解!宝宝游戏浙江辅助器,菜鸟黑桃a3辅助(证实有挂辅助脚本);无需打开直接搜索微信(13670...
必备科技!功夫川麻小程序辅助器... 【亲,功夫川麻小程序辅助器 这款游戏可以开挂的,确实是有挂的,很多玩家在这款功夫川麻小程序辅助器中打...
玩家爆料!边锋干瞪眼房租胡,福... 玩家爆料!边锋干瞪眼房租胡,福建天天开心辅助真实性(有挂工具辅助开挂平台);无需打开直接搜索加(薇:...
必备科技!天天手游辅助工具,越... 越乡游义乌辅助器免费试用是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可...
必备攻略!吉祥填大坑有插件吗,... 必备攻略!吉祥填大坑有插件吗,战神辅助官网(有挂解密辅助挂);无需打开直接搜索薇:136704302...
科普攻略!蜀山四川好友房可以开... 科普攻略!蜀山四川好友房可以开挂吗,上饶打炸辅助(有挂辅助辅助下载);无需打开直接搜索打开薇:136...