게시글
질문&답변
2024.05.02
AuthenticationManager 사용방법에 대해 질문있습니다.
이때 이 두가지 방법의 차이는 어떤 것이 있을까요? Authenticaion Manager를 직접 생성하기에 세밀한 설 정이 가능하다는 차이가 있고 없고인가요? 첫번째 방식은 필터를 빈으로 선언하게 되면 AuthenticaionManager 도 빈으로 주입이 되어야 하는데 AuthenticaionManager 는 빈으로 선언이 안되어 있기 때문에 오류를 발생합니다. 그래서 필터를 빈으로 선언하지 않는것이고 두번째는 필터를 빈으로 선언하더라도 AuthenticaionManager 를 빈으로 주입받지 않고 직접 생성하기 때문에 필터를 빈으로 선언하고 있는 것입니다. 스프링 시큐리티의 버전이 변경되면서 필터를 Bean으로 등록해 사용하도록 권장하고 있다고 알고 있습니다. 이러한 관점에서 보았을때는 두번째 방법이 스프링 시큐리티 측에서 권장하는 방법으로 이해해도 될까요? 필터를 빈으로 사용함을 권장하는 것 여부는 잘 모르겠습니다. 어차피 필터는 초기화 시 한번 객체로 생성되기 때문에 싱글톤 빈으로 생성하는 것과 리소스 비용 측면에서는 크게 차이가 없습니다. 다만 빈으로 생성할 경우에는 스프링의 특화된 여러가지 기능들을 사용할 수 있기 때문에 필터를 빈으로 사용하는 것입니다. 만약 스프링의 빈 관련 기능을 사용하지 않을 경우에는 일반 객체로 생성해서 사용하셔도 무방합니다.
- 0
- 1
- 49
질문&답변
2024.05.01
ID_TOKEN 은 많은 사이들들에서 지원을 안한다고 보면될까요?
네 그런 것 같습니다. 제가 경험한 바로는 애플 로그인은 ID_TOKEN 을 지원하고 있습니다. 국내 기업이나 구글에서도 ID_TOKEN 을 지원해 주는 것 같지는 않습니다. 그리고 Authorization Code Grant Type 방식이 제일 안전하기 때문에 그런 것 같기도 합니다.
- 0
- 1
- 26
질문&답변
2024.05.01
rest api 에서 OAuth 적용하기 질문입니다.
네 일단 구글및 카카오 연동을 위해서는 spring-boot-starter-oauth2-client 의존성을 받으시면 됩니다. 그리고 전체적인 설명은 섹션 9. OAuth 2.0 Client - Social Login (Google, Naver, KaKao) + FormLogin 에 자세하게 나와 있으니 참고해 주시기 바랍니다.
- 0
- 2
- 51
질문&답변
2024.05.01
implicit grant 에서 refresh token 사용가능 여부 문의
refresh token 은 서버 측에 보관하는 토큰입니다. 즉 access token 이 만료되었을 경우 해당 refresh token 을 사용해서 새로운 access_token 을 발급받는 것입니다. 그리고 refresh token 은 필수가 아닙니다. access token 을 발급받기 위한 여러 과정을 거치지 않고 refresh token 만 가지고도 쉽게 발급받을 수 있도록 편의를 위해 사용할 뿐입니다. refresh token 이 유출될 경우 access_token 을 발급받을 수 있기 때문에 당연히 back channel 에서만 통신이 이루어져야 합니다.
- 0
- 1
- 28
질문&답변
2024.04.29
PPT 강의 자료는 어디 있을까요...?
아 네 ppt 자료가 올바르게 다운이 되지 않는 부분이 있어 PDF 로 변환해서 업로드 했습니다. 혹 필요하시면 메일로 전달해 드리겠습니다
- 0
- 2
- 92
질문&답변
2024.04.27
react 와 같은 별개의 프론트가 있는 경우 csrf
제 강의에서 섹션 7. 악용 보호 > CSRF 통합에 보시면 자바스크립트에서 csrf 를 생성하는 방법을 소개하고 있는데 그중 SPA 의 경우를 설명하고 있습니다. 물론 react 나 vue 를 직접 예시로 하고 있지는 않지만 어느 정도 활용가능성이 있다고 볼 수 있습니다. same-site 로 처리해도 되긴 합니다. 가능하다면 csrf 와 함께 처리하는 것이 좋습니다.
- 0
- 2
- 85
질문&답변
2024.04.27
강의 교안에서 SessionManagementFilter 이미지 질문
네 맞습니다. 실제 세션 관련 처리는 인증을 시도하는 과정속에서 진행되고 있습니다. 이부분은 강의에서도 소개하고 있는 내용입니다. 다만 위의 흐름도에서 표현된 내용은 세션 관리 필터와 동시세션 필터 자체를 설명하기 위해 구성되었다고 이해하시면 됩니다. SessionManagementFilter 가 동작하는 기준이 현재 세션에 SecurityContext 객체가 없는 상태에서 스레드로컬에는 인증객체 즉 Authentication 이 존재하는 경우에 실행되므로 현재 사용자가 요청 진행중에 인증을 했다고 가정하고 세션처리를 하고 있습니다. if (!this.securityContextRepository.containsContext(request)) { Authentication authentication = this.securityContextHolderStrategy.getContext().getAuthentication(); if (authentication != null && !this.trustResolver.isAnonymous(authentication)) { // The user has been authenticated during the current request, so call the // session strategy try { this.sessionAuthenticationStrategy.onAuthentication(authentication, request, response); } 그렇기 때문에 반드시 UsernamePasswordAuthenticationFilter 에 의한 인증과정에서만 세션 처리를 하는 것이 아닌 세션에는 인증객체가 존재하지 않지만 인증은 진행중인 경우에 SessionManagementFilter 가 작동할 수 있으므로 그 가정하에 흐름들을 설명하고 있습니다. 물론 이런 경우는 그렇게 흔하지는 않을 것입니다. 그리고 세션 처리 관련 기능 및 클래스들이 기본적으로 SessionManagementFilter 에 의해 참조되는 것이기 때문에 전반적인 구조관점에서 위 흐름도를 보시면 될 것 같습니다.
- 0
- 1
- 54
질문&답변
2024.04.26
예제 프로젝트 소스를 받고 싶습니다!!
네 브랜치 part11, part11.2 소스를 받으시면 됩니다. https://github.com/onjsdnjs/spring-batch-lecture/tree/Part11 https://github.com/onjsdnjs/spring-batch-lecture/tree/Part11.2
- 0
- 2
- 53
질문&답변
2024.04.24
405에러가 발생합니다. 이유를 잘 모르겠습니다.
@Bean public SecurityFilterChain adminFilterChain(HttpSecurity httpSecurity) throws Exception { httpSecurity .csrf(AbstractHttpConfigurer::disable) .securityMatcher("/admin/**","/manage/**") 위 코드에서 .securityMatcher("/admin/**","/manage/**") 가 설정되어 있는데 이렇게 되면 /admin/** 와 /manage/** 경로로 접근하는 요청 이외에는 시큐리티 보안을 타지 않습니다. 그리고 현재 .formLogin(httpSecurityFormLoginConfigurer -> httpSecurityFormLoginConfigurer .defaultSuccessUrl("/manage/class", true) .failureHandler(customAuthenticationFailureHandler) .loginPage("/login") .loginProcessingUrl("/login") .permitAll() // 추가 ) 폼 로그인 접근도 permitAll 이 되어 있지 않는데 이 부분도 인증받지 않는 상태에서도 접근이 가능하도록 해 주어야 합니다. 그렇지 않으면 무한 반복에 빠질 수 있습니다. 일단 위와 같이 설정하면 로그인은 되는데 403 으로 나오고 있습니다. 이것은 권한 문제인데 확인해 보시기 바랍니다.
- 1
- 2
- 78
질문&답변
2024.04.24
http 파일이 잘 안 먹힐 때
유익한 정보 감사드립니다
- 0
- 1
- 53