AuthCoreConfiguration.java
package com.project.auth.config.auth;
import com.project.auth.application.auth.identity.LoadKeycloakUserUseCase;
import com.project.auth.application.auth.identity.internal.KeycloakUserLoader;
import com.project.auth.application.auth.identity.port.out.LoadKeycloakUserPort;
import com.project.auth.application.support.audit.AuthAuditEventPublisher;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.time.Clock;
@Configuration
public class AuthCoreConfiguration {
@Bean
public Clock systemClock() {
return Clock.systemUTC();
}
@Bean
public LoadKeycloakUserUseCase loadKeycloakUserUseCase(
LoadKeycloakUserPort loadKeycloakUserPort,
AuthAuditEventPublisher authAuditEventPublisher
) {
return new KeycloakUserLoader(
loadKeycloakUserPort,
authAuditEventPublisher
);
}
}