개발 3

SpringbootSecurity/JWT기본개념(세션에 고질적인 문제)

JWT JWT는 json web token이 라고 한다. 그럼 이 JWT가 왜 사용되고 어디에 사용되는지 먼저 알아보자 JWT를 이해하기위해선 session의 단점이 뭔지부터 알아야 한다. Session 기본적으로 사용자가 웹에서 서버로 최초 요청을 한다고 하면 서버가 응답을 할 때 해더에 쿠키를 담아서 세션 id를 넘겨주고 사용자의 웹에 자동으로 쿠키를 저장하는 것이 기본전략이다. 그래서 다음에 같은 사용자가 다시 요청을 한다고하면 쿠키에 있는 세션id를 보고 사용자의 요청을 효율적으로 응답할 수 있게 되는 것이다. 그럼 이 session은 언제 사라지냐? 1. 서버 쪽에서 session값을 날렸을 때 2. 사용자가 브라우저를 전부 종료했을 때 3. 특정 시간이 지나면 자동 삭제 이때 서버가 알아야 하..

SpringbootSecurity 2021.09.02

SpringbootSecurity/Springboot로 네이버 로그인 해보기 (yml에서 provider 설정하기)

저번 포스팅에서 이어갑니다. provider OAuth2-Client라는 라이브러리를 사용하고 있는데 OAuthClient를 재공해 주는 provider 있는데 Spring은 구글, 페이스북, 트위터 등등을 제공해준다. 그럼 당연히 네이버나 카카오같은 각 나라마다의 포털사이트를 Spring을 다 제공해주기엔 너무 많기 때문에 대표적인 것만 있는 것이다. 그럼 이런 각 나라마다 포털사이트의 api를 사용하려면 그 포털사이트의 문서를 봐야 사용할 수 있다. 그럼 naverAPI를 받아오기 전에 yml설정부터 하면서 이해해야할 개념이 있다. 기본적으로 스프링 시큐리티가 OAuth2로그인을 사용할 때 OAuth2를 사용하기 위한 여러 가지 방식이 있다. Code방식 Client CredentialGrantTyp..

SpringbootSecurity 2021.09.01

STS/Springboot 개발 환경 설정

안녕하세요 바로 시작하겠습니다 저번 포스팅에서 다운로드한 후 exe파일의 바로가기를 바탕화면에 뒀었습니다. 실행을 하면 바로 경로를 설정하는 화면이 나오는데 적절한 곳에 설정하면 됩니다. 실행 후 경로 설정 첫 화면에서 사용하지 않는 탭들은 제거를 하고 좀 더 깔끔한 환경에서 개발을 할 수 있도록 합니다. 일단 모든 프로그래밍 시작의 국 룰인 helloworld 출력해본다. 일단 먼저 알고 가야 할 사항중 하나가 스프링에는 웹 개발 환경을 자체적으로 제공하지 않습니다. 스프링에 다이내믹 프로젝트가(웹 개발 환경) 없는 이유 최근 서버는 데이터를 리턴한다. 하지만 대부분의 현 프로그램들이 html을 리턴하는 방식으로 사용하기 때문에 웹 개발을 하기 위해선 새로운 플러그인을 다운로드하아야 한다 enterpr..

Springboot 2021.06.21