From 9057479da7ff03e96f85b71f668c53fcabb265cf Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Mon, 27 Apr 2026 08:48:13 +0200 Subject: [PATCH] feat: expose vendor auth policy in public config endpoint Co-Authored-By: Claude Sonnet 4.6 --- .../saas/config/PublicConfigController.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/siegeln/cameleer/saas/config/PublicConfigController.java b/src/main/java/net/siegeln/cameleer/saas/config/PublicConfigController.java index 6973b2b..22417cc 100644 --- a/src/main/java/net/siegeln/cameleer/saas/config/PublicConfigController.java +++ b/src/main/java/net/siegeln/cameleer/saas/config/PublicConfigController.java @@ -2,6 +2,7 @@ package net.siegeln.cameleer.saas.config; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import net.siegeln.cameleer.saas.vendor.VendorAuthPolicyRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -25,6 +26,11 @@ public class PublicConfigController { private String spaClientId; private final ObjectMapper objectMapper = new ObjectMapper(); + private final VendorAuthPolicyRepository vendorPolicyRepo; + + public PublicConfigController(VendorAuthPolicyRepository vendorPolicyRepo) { + this.vendorPolicyRepo = vendorPolicyRepo; + } private static final List SCOPES = List.of( "platform:admin", @@ -61,11 +67,19 @@ public class PublicConfigController { endpoint = "http://localhost:3001"; } + var policy = vendorPolicyRepo.getPolicy(); + var vendorAuthPolicy = Map.of( + "mfaMode", policy.getMfaMode(), + "passkeyEnabled", policy.isPasskeyEnabled(), + "passkeyMode", policy.getPasskeyMode() + ); + return Map.of( "logtoEndpoint", endpoint, "logtoClientId", clientId != null ? clientId : "", "logtoResource", apiResource, - "scopes", SCOPES + "scopes", SCOPES, + "vendorAuthPolicy", vendorAuthPolicy ); }