oauth2 랑은 다르게 jwt 를 사용한 security 로그인에서는
SecurityConfig.java에 아래 박스 설정이 추가되었는데
저 박스 부분을 이해하고 넘어가자!!
[기존(세션) 방식]
최초 로그인할 때 id와 pw를 서버에 전송하고 세션 메모리 세션 id를 발급해 등록시킨 후
클라이언트에게 세션 id를 반환해서
클라이언트가 다음 방문이나 요청 때 그 세션 id를 들고 다니게 해서 그 세션 id와 세션 메모리에 등록된 세션 id의 동일성을 체크해 인증을 수행하는 방식
[쿠키 방식]
(동일한 도메인의 경우 발동 http only : false 일 경우 -> 보안을 위해서 )
우선 http basic 방식 설명 ▼
- 쿠키가 많으면 많을수록 확장성이 떨어진다.
-> 그래서 header에다가 authorization이라는 키값을 인증 정보를 넣고 가는 방식에서 id나 pw를 넣어가는 방식이 있는데
이 방식이 httpp Basic 방식이다
-> 이렇게 하면 매번 요청할 때마다 아이디와 암호를 달고 요청하게 된다.
-> 요청할 때 마다 계속 인증하는 꼴
-> 아이디와 암호가 암호화가 되지 않기 때문에 중간에 노출될 수 도 있다
-> 그래서 암호화가 되는 https 서버를 쓴다
========== 여기 까지가 http basic이고 ==========
이제 http basic 방식 대신 쓸 http bearer 방식 설명 ▼
우리가 쓰는 방식은
Authorization에다가 토큰을 넣어줄 것이다.
이 토큰은 다른 사람한테 노출이 되면 안된다.
하지만 이 토큰이 노출이 된다해도 이 토큰 자체가 아이디와 암호가 아니기 때문에 위험이 적다
이런 방식은 http basic 방식이 아니라 "http bearer" 방식이라고 한다.
또 토큰은 유효시간이란 것이 있어서 노출되어도 그 기간이 지나면 사용할 수가 없다
이런 토큰 방식을 쓸 때 jwt : jason web token을 만들어서 쓴다 → 이게 우리가 쓰는 방식
그리고 그렇기 때문에 http basic이라는 부분을 disable() 처리한 것이다.
이 정도만 알아도 bearer 방식을 이해하는데 충분하다!!
'spring security' 카테고리의 다른 글
spring security - #23 임시 토큰 만들어서 테스트 진 (1) | 2024.01.28 |
---|---|
spring security - #22 jwt Filter 등록 테스트, @Configuration 에 ioc로 등록된 bean의 호출 시점 (0) | 2024.01.24 |
spring security - #20 jwt를 위한 security 설정(필터 등) (0) | 2024.01.23 |
spring security - #19 jwt 사용을 위한 yml 세팅 (0) | 2024.01.22 |
spring security - #18 jwt를 사용을 위한 환경 설정 (0) | 2024.01.22 |