Spring Security - Remember Me와 관련된 인증 API - RememberMeConfigurer

목차

Remember Me와 관련된 인증 API

  • rememberMeParameter
    • 쿠키의 파라미터명을 지정한다. 체크박스의 이름(parameter)과 remember-me의 파라미터 명은 일치 시켜줘야 한다.
  • tokenValiditySeconds
    • 쿠키의 만료시간을 설정한다.
  • useSecureCookie
    • Cookie 에 보안 설정을 할 때 사용하는 Flag
    • HTTPS 환경에서만 사용할 수 있다.
  • userDetailsService
    • remember-me 를 이용한 인증 진행시 시스템의 사용자 계정을 조회할 때 사용하는 class 를 지정한다.
  • tokenRepository
    • Remember Me Token 저장소를 설정한다.
    • 기본은 TokenBasedRememberMeServices 를 사용하기 때문에 Cookie 에 저장하는 방식이다.
    • 기본 구현체는 InMemoryTokenRepositoryImplJdbcTokenRepositoryImpl 로 저장소를 명시해주면 PersistentTokenBasedRememberMeServices 를 사용한다.
  • key
    • Remember Me Authentication 객체 유효성을 확인하기 위한 Key 값을 설정한다.
    • String Hash 비교를 통해 인증 유효성을 확인한다.
  • alwaysRemember
    • Remember Me 기능이 활성화되지 않아도 항상 실행하는 Flag

사용자의 Session이 생성되었고 Session이 인증 객체를 담고 있다는 것이다.

RememberMeConfigurer

public RememberMeConfigurer<H> tokenValiditySeconds(int tokenValiditySeconds) {
this.tokenValiditySeconds = tokenValiditySeconds;
return this;
}


public RememberMeConfigurer<H> useSecureCookie(boolean useSecureCookie) {
this.useSecureCookie = useSecureCookie;
return this;
}

public RememberMeConfigurer<H> userDetailsService(UserDetailsService userDetailsService) {
this.userDetailsService = userDetailsService;
return this;
}

public RememberMeConfigurer<H> tokenRepository(PersistentTokenRepository tokenRepository) {
this.tokenRepository = tokenRepository;
return this;
}

public RememberMeConfigurer<H> key(String key) {
this.key = key;
return this;
}

public RememberMeConfigurer<H> rememberMeParameter(String rememberMeParameter) {
this.rememberMeParameter = rememberMeParameter;
return this;
}

public RememberMeConfigurer<H> rememberMeCookieName(String rememberMeCookieName) {
this.rememberMeCookieName = rememberMeCookieName;
return this;
}

public RememberMeConfigurer<H> rememberMeCookieDomain(String rememberMeCookieDomain) {
this.rememberMeCookieDomain = rememberMeCookieDomain;
return this;
}

public RememberMeConfigurer<H> authenticationSuccessHandler(
AuthenticationSuccessHandler authenticationSuccessHandler) {
this.authenticationSuccessHandler = authenticationSuccessHandler;
return this;
}

public RememberMeConfigurer<H> rememberMeServices(RememberMeServices rememberMeServices) {
this.rememberMeServices = rememberMeServices;
return this;
}

public RememberMeConfigurer<H> alwaysRemember(boolean alwaysRemember) {
this.alwaysRemember = alwaysRemember;
return this;
}
Share