feat(web): auth provider section in settings page (GRO-391)

feat(web): auth provider section in settings page (GRO-391)
This commit was merged in pull request #216.
This commit is contained in:
groombook-ceo[bot]
2026-04-03 08:16:16 +00:00
committed by GitHub
2 changed files with 7 additions and 8 deletions
+5 -5
View File
@@ -124,10 +124,8 @@ authProviderRouter.put(
// ─── POST /api/admin/auth-provider/test ─────────────────────────────────────
const testAuthProviderSchema = z.object({
providerId: z.string().min(1).max(100),
issuerUrl: z.string().url(),
clientId: z.string().min(1),
clientSecret: z.string().min(1),
internalBaseUrl: z.string().url().nullable().optional(),
});
authProviderRouter.post(
@@ -135,10 +133,12 @@ authProviderRouter.post(
requireSuperUser(),
zValidator("json", testAuthProviderSchema),
async (c) => {
const { issuerUrl } = c.req.valid("json");
const { issuerUrl, internalBaseUrl } = c.req.valid("json");
// Fetch OIDC discovery document
const discoveryUrl = `${issuerUrl.replace(/\/$/, "")}/.well-known/openid-configuration`;
const discoveryUrl = internalBaseUrl
? `${internalBaseUrl.replace(/\/$/, "")}/application/o/.well-known/openid-configuration`
: `${issuerUrl.replace(/\/$/, "")}/.well-known/openid-configuration`;
let metadata: Record<string, unknown> | null = null;
let errorMessage: string | null = null;
+2 -3
View File
@@ -235,9 +235,8 @@ export function SettingsPage() {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
providerId: authForm.providerId,
issuerUrl: authForm.issuerUrl,
clientId: authForm.clientId,
issuerUrl: authForm.issuerUrl,
...(authForm.internalBaseUrl ? { internalBaseUrl: authForm.internalBaseUrl } : {}),
}),
});
const data = await res.json();