스프링시큐리티가 제공하는 클래스
인증 인가 기능이 동작할수 있또록 여러 구성요소를 정의하구 설정함,
일반적으로 인증 인가 동작하려면? 시큐리티 필터체인 한개가 반드시 필요함
필터체인으로 인증인가에따른 여러가지 필터를 추가함
리퀘스트 매처같은것도 설정함
시큐리티 필터체인이 최종적으로 생성해서 반환? HttpSecurity
이 클래스가 필터체인 만들어서 반환
OAuth2AuthorizationServerConfiguration 먼저 설정 클래스가 적용 된다.
init configure 호출 됨.
리스트 타입에 configurers
5개의 configure가 (리스트) 각 init , configure 실행됨
OAuth2AuthorizationServerConfiguration 가장 메인이 되는 설정 클래스
클라이언트가 인가서버부터 각 엔드포인트가 여러개여서 엔드포인트로 요청하면
요청에 대한 정의한 매칭 여부를 판단 (리퀘스트 매처에 정의한 여러가지 엔드포인트)
csrf 기능 무시?
클라이언트가 인가서버로 엔드포인트로 요청할 때 csrf 토큰 무시하고 엔드포인트역할이 수행 되도록 하기 위해
apply 설정 클래스가 호출 되도록 ! 설정
jwtDecoder 왜 필요? 요청시 인가서버에서 토큰을 검증 해야되기 때문에
설정 클래스 임포트!
2번 클래슬를 호출해서 인증인가 기능을 구현하면 됨.
서버실행시 여기로 첫번재
메인 설정안에 포함된 설정들
인증을 받지 못한상태에서 서벌 ㅗ접속이 됨
왜? 그럴까?
어떤 url 든 인증을 받아야된다는설정
endpointMatcher
즉 인가서버가 클라이언트에서 오는 엔트포인트uri 매칭되는 정보 한해서만 인증을 받겠다.
엔드포인트에 속하지않는 모든 url은 통과 되버린다.
그래서 오류가 나긴하지만 다른 url 들은 어떤요청에도 접속은 됨.