LoginController.java 1.0 KB

12345678910111213141516171819202122232425262728
  1. package org.example.controller;
  2. import com.fasterxml.jackson.annotation.JsonProperty;
  3. import io.jsonwebtoken.Jwts;
  4. import io.jsonwebtoken.SignatureAlgorithm;
  5. import org.example.domain.LoginRequest;
  6. import org.springframework.http.MediaType;
  7. import org.springframework.web.bind.annotation.PostMapping;
  8. import org.springframework.web.bind.annotation.RequestBody;
  9. import org.springframework.web.bind.annotation.RequestMapping;
  10. import org.springframework.web.bind.annotation.RestController;
  11. import java.util.Date;
  12. @RestController
  13. public class LoginController {
  14. @RequestMapping(value="/login")
  15. public String login() {
  16. long currentTimeMillis = System.currentTimeMillis();
  17. return Jwts.builder()
  18. .setSubject("user.getLogin()")
  19. .claim("roles","user")
  20. .setIssuedAt(new Date(currentTimeMillis))
  21. .setExpiration(new Date(currentTimeMillis + 60 * 60 * 1000)) //60min
  22. .signWith(SignatureAlgorithm.HS256, "example")
  23. .compact();
  24. }
  25. }