spring security6
-
정리된 인증 과정개발/etc 2024. 4. 16. 16:42
별도의 인증 서버는 두지 않는다프론트엔드를 Next.js로만 구현하려고 했고 이는 키클록 인가 서버 혹은 스프링으로 인가 서버를 두게 되면 페이지를 Next.js로 개발하는 것에 한계가 있다. 키클록 인가 서버는 자체 페이지를 쓰거나 프리마커로 커스텀 하는 방식을 써야 하며, 스프링 인가 서버는 프레임워크에서 로그인 페이지를 렌더링해야 한다. 타임리프를 쓰면 되긴 하지만 이번 프로젝트에서는 직접 토큰을 다뤄보는 연습을 해보자.리소스 서버에서 토큰을 발행한다JJWT 라이브러리를 사용해서 토큰을 발행하고 클레임을 추출한다토큰 정책액세스 토큰의 만료 기간을 짧게 가져가고 리프레시 토큰의 만료 기간을 길게 가져가는 방식액세스 토큰이 유출됐을 때의 대안인데 리프레시 토큰이 유출되면 관리자가 무효..
-
[Security6] Factory method 'securityFilterChain' threw exception with message: This object has already been built개발/Spring Security 2024. 2. 26. 01:52
시큐리티에서는 생전 처음 보는 버그가 종종 나와 미소 짓게 한다. 5버전과 달리 6버전에서는 설정 클래스가 상속하는 클래스가 없고 메소드 빈 방식으로 설정 작업이 이뤄지기 때문에Authentication Manager(이하 매니저)를 얻는 방식이 기존과 다르다. 여기서 소개할 방법은 사용자가 정의한 Authentication Provider(이하 프로바이더)를 추가하기 용이한 방법이다. 이 설정에서는 필터, 프로바이더를 새로 정의해서 등록한다. @Bean SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http.csrf(AbstractHttpConfigurer::disable); http.addFilterBefor..