AuditingConfig.java
package io.featureprobe.api.config;
import io.featureprobe.api.auth.AccessTokenAuthenticationToken;
import io.featureprobe.api.auth.TokenHelper;
import io.featureprobe.api.dao.entity.Member;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.domain.AuditorAware;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken;
import java.util.Optional;
@Configuration
public class AuditingConfig implements AuditorAware {
@Override
public Optional<Member> getCurrentAuditor() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (!(authentication instanceof JwtAuthenticationToken)
&& !(authentication instanceof AccessTokenAuthenticationToken)) {
return Optional.of(new Member(1L, ""));
}
return Optional.of(new Member(TokenHelper.getUserId(), TokenHelper.getAccount()));
}
}