ViewController.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.icontrols.oauth.controller;
  2. import java.io.UnsupportedEncodingException;
  3. import java.security.GeneralSecurityException;
  4. import java.security.NoSuchAlgorithmException;
  5. import java.time.Duration;
  6. import java.util.Random;
  7. import org.slf4j.Logger;
  8. import org.slf4j.LoggerFactory;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.data.redis.connection.RedisConnectionFactory;
  11. import org.springframework.data.redis.core.RedisTemplate;
  12. import org.springframework.data.redis.core.ValueOperations;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import org.springframework.web.bind.annotation.RequestMethod;
  15. import org.springframework.web.bind.annotation.RequestParam;
  16. import org.springframework.web.bind.annotation.RestController;
  17. import com.icontrols.oauth.utils.JWTUtils;
  18. @RestController
  19. @RequestMapping(value = "/api/oauth2")
  20. public class ViewController {
  21. private static final Logger logger = LoggerFactory.getLogger(ViewController.class);
  22. @Autowired
  23. RedisTemplate<String, Object> redisTemplate;
  24. // redis 테스트
  25. @RequestMapping(value = "/check", method = RequestMethod.GET)
  26. public String validTest(@RequestParam(value = "token", required = false) String token)
  27. throws UnsupportedEncodingException, NoSuchAlgorithmException, GeneralSecurityException {
  28. ValueOperations<String, Object> vop = redisTemplate.opsForValue();
  29. Random generator = new Random();
  30. String wallpadCode = "";
  31. for (int i = 0; i < 6; i++) {
  32. wallpadCode += Integer.toString(generator.nextInt(10));
  33. }
  34. while (!vop.setIfAbsent(wallpadCode, "value")) {
  35. wallpadCode = "";
  36. for (int i = 0; i < 6; i++) {
  37. wallpadCode += Integer.toString(generator.nextInt(10));
  38. }
  39. }
  40. return "";
  41. }
  42. }