Closed kyupid closed 3 years ago
자바에서 뭐고 자시고 spring security 없이 할 경우에 기본적인 GET POST 요청으로 직접 입력하고 받도록하면 실행은 가능함. 왜 이걸 몰랐지?
리소스오너 : 유저 클라이언트 : 톰캣서버 리소스서버 : 깃헙
code
를 클라이언트의 API로 처리하는 redirect_uri 로 보냄@RequestParam
으로 code
를 받음code
와 client_id
, client_secret
으로 access_token
을 받기위한 리소스서버에 대한 URL을 만들어서 요청.access_token
을 클라이언트로 보냄5. 부가설명
@GetMapping("/callback")
public Object login(@RequestParam String code) {
Github github = new Github();
String url = github.getUrlForAccesToken(code);
Object object = restTemplate.getForObject(url, Object.class);
return object;
}
그리고 Object에는 커스텀 클래스로 바꿀 수 있다.
예를 들어서 DTO 클래스 하나 만들고 access_token
이라는 필드를 만들어주면, 별다른 작업없이 RestTemplate으로 파싱할 수 있다.
그러니까 코드로 바꾸면 TestDto testDto = restTemplate.getForObject(url, TestDto.class);
이렇게 될 것이다.
참고 https://www.youtube.com/watch?v=l2LY5KqY8Mg
@RequestParam
VS@PathVariable
https://github.com/okstring/baseball/wiki/GitHub-OAuth-flow https://docs.github.com/en/developers/apps/authorizing-oauth-apps#web-application-flow
먼저해야할거 하고 다음에 하기