오늘은 부트캠프 34일차이다. 오늘은 오전에 알고리즘 문제에 대해 풀어보고 공부 한 뒤 쭉 스프링부트 숙련 개인 과제만 했다. 과제는 기존에 메모장 프로그램을 만든 뒤에 추가적으로 회원가입과 로그인을 하는 것이었다. 이렇게만 보면 간단해보이지만 결코 간단하지가 않았다. 처음에 회원가입과 로그인 하는 것은 전날에 배운것을 적용하니 되었다고 생각했는데 요구사항대로는 나오지 않았다. 그래도 열심히 구글링 해가며 여러 자료들을 찾아보았고 뭔가 되었다 싶으면 안되고 이렇게 햇서 3~4번 반복하다가 다시 태초마을로 돌아왔고 벌써 시간이 지나가있었고 솔직히 조금 막막하긴 하다. 그래도 내가 해보는데 까지만 하고 내일까지 제출이니까 열심히해봐야겠다.
오늘 배운 것
1. 스프링 시큐리티
-"인증"과 "인가"를 관리해주는 것을 스프링 스큐리트라고 한다.
2. 인증
-해당 유저가 실제 유저인지 인증하는 개념이다. ex> 스마트폰 지문인식, 사이트 로그인 등
3. 인가
-해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념 ex> 관리자 페이지-관리자 권한
4. 웹 애플리케이션 인증의 특수성
-일반적을 서버-클라이언트 구조로 되어있다.
-Http라는 프로토콜을 이용하여 통신하는데 그 통신은 비연결성 무상태로 이루어진다.
비연결성은 서버와 클라이언트가 연결되어 있지 않다는 것
무상태는 서버가 클라이언트의 상태를 저장하지 않는다는 것5. 쿠키-세션 방식의 인증
-서버가 특정 유저가 로그인 되었다는 상태를 저장하는 방식이다.
-인증과 관련된 최소한의 정보는 저장해서 로그인을 유지시킨다.6. JWT 기반 인증
-JWT는 인증에 필요한 정보들을 암호화시킨 토큰을 의미한다.
-HTTP 헤더에 실어 서버가 클라이언트를 식별한다.
-고도화된 방법으로는 Refresg token과 Access token으로 분리해서 더 높은 보안과 편의성을 가지게 할 수도 있다.