PasswordEncorder 는 인터페이스다
DelegatingPasswordEncoder 는 암호화 방식의 유형(알고리즘),해당 패스워드 인코더의 구현체가 들어간다.
UserDetails 인터페이스를 구현한 클래스가 User 클래스. 그래서 User클래스를 상속받아 사용하면 UserDetails 타입 반환!
AccountContext(user 상속한 클래스) 는 그 계정과 권한이 들어가야한다. 그리고 그것을 반환한다.
SecurityConfig에 선언 해주면 시큐리티가 우리가 만든 userDetailService 를 사용한다.
provider에서 인증이 성공 하면 이 토큰은 반환한다.
첫번쨰 생성자는 사용자가 인증시도할떄 인증필터가 사용자가 입력한 아이디 비밀번호 저장하는생성자, 두번쨰는 인증이 성공하고난뒤의 유저 데이터가 저장된다
위의 예제는 인증이 성공한다음이니 두번쨰 생성자를 사용한다.