mirror of
https://gitee.com/mateos/mateclaw.git
synced 2026-09-13 11:13:43 +08:00
fix(sso): gate SSO runtime beans on mateclaw.sso.enabled
SsoService / SsoStateService / SsoController / SsoProviderRegistry were unconditional component-scanned beans, but their configuration (SsoProperties) is only registered by the conditional auto-configuration. With SSO disabled (the default) the services were still instantiated and startup failed: "required a bean of type SsoProperties that could not be found". Gate the four beans on the same mateclaw.sso.enabled=true condition so the SSO stack loads as a unit — disabled = no beans and no exposed endpoints; enabled = the auto-configuration provides SsoProperties and everything wires. Verified: backend starts clean with SSO disabled (default).
This commit is contained in:
parent
b048718298
commit
e0ce5e2ea7
@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import vip.mate.auth.model.LoginResponse;
|
||||
import vip.mate.auth.sso.provider.SsoProviderRegistry;
|
||||
@ -22,6 +23,7 @@ import java.util.stream.Collectors;
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/auth/sso")
|
||||
@ConditionalOnProperty(name = "mateclaw.sso.enabled", havingValue = "true")
|
||||
@RequiredArgsConstructor
|
||||
public class SsoController {
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.dao.DuplicateKeyException;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -38,6 +39,7 @@ import java.util.Map;
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@ConditionalOnProperty(name = "mateclaw.sso.enabled", havingValue = "true")
|
||||
@RequiredArgsConstructor
|
||||
public class SsoService {
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@ import io.jsonwebtoken.security.Keys;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.dao.DuplicateKeyException;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -47,6 +48,7 @@ import java.util.UUID;
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@ConditionalOnProperty(name = "mateclaw.sso.enabled", havingValue = "true")
|
||||
@RequiredArgsConstructor
|
||||
public class SsoStateService {
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package vip.mate.auth.sso.provider;
|
||||
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
@ -15,6 +16,7 @@ import java.util.Optional;
|
||||
* @author MateClaw Team
|
||||
*/
|
||||
@Component
|
||||
@ConditionalOnProperty(name = "mateclaw.sso.enabled", havingValue = "true")
|
||||
public class SsoProviderRegistry {
|
||||
|
||||
private final Map<String, SsoProvider> providers = new LinkedHashMap<>();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user