SpringbootSecurity

SpringbootSecurity/ JWT 서버 구축 최종

25G 2021. 10. 5. 20:09

저번 포스팅과 연결돼 있습니다.

저번 포스팅에서 JWT을 만들어서 응답을 해주는 것까지 했었는데 response해더에 Authorization키에 벨류에 JWT토큰이 담겨져서 응답된 것을 확인할 수 있었습니다.

 

그럼 이제 클라이언트가 자신의 개인정보에 접근을 하기 위해서 다시 로그인을 하는 것이 아닌 JWT을 이용해서 해당 개인정보에 접근을 하게 되면 전자서명을 통해서 개인정보에 접근할 수 있게 구현을 하면 된다.

 

그러기 위해선 jwt필터를 만들어야 한다.

파일생성

포스트맨으로 테스트를 해보면 해당 필터를 타고 header에 Authorization키의 벨류 값을 확인해 볼 수 있다.

그럼 여기에다가 jwtheader를 넘기면 된다.

그럼 필터를 등록해서 테스트해보자

SecurityConfig파일에서 필터 등록

포스트맨으로테스트하면 잘 나온다

그럼 그럼 이 필터에서 권한을 확인을 한 후에 전자서명을 하고

주석에 적힌바와 같이 강제로 Authentication객체를 만들어서 Security의 세션 영역의 사용자의 개인정보를 넣어준 뒤에 다시 필터를 타서 클라이언트가 원하는 개인정보를 받아볼 수 있도록 해주면 되는 것이다.