Enhance SSO Functionality: Add detailed view for SSO providers in SSOSettings, including OIDC and SAML configuration parsing. Implement loading states for SSO sign-in on the homepage and expose a public API for listing SSO providers. Update UI components for better user experience and maintainability.

This commit is contained in:
Mauricio Siu
2026-01-30 20:35:17 -06:00
parent 61f6bbfe1c
commit 3c2f675eb9
6 changed files with 293 additions and 28 deletions

View File

@@ -2,10 +2,22 @@ import { ssoProvider } from "@dokploy/server/db/schema";
import { TRPCError } from "@trpc/server";
import { and, eq } from "drizzle-orm";
import { z } from "zod";
import { createTRPCRouter, enterpriseProcedure } from "@/server/api/trpc";
import {
createTRPCRouter,
enterpriseProcedure,
publicProcedure,
} from "@/server/api/trpc";
import { db } from "@/server/db";
export const ssoRouter = createTRPCRouter({
/** Public list of SSO providers for the login page (providerId + issuer only). */
listLoginProviders: publicProcedure.query(async () => {
const providers = await db.query.ssoProvider.findMany({
columns: { providerId: true, issuer: true },
});
return providers;
}),
listProviders: enterpriseProcedure.query(async ({ ctx }) => {
const providers = await db.query.ssoProvider.findMany({
where: eq(ssoProvider.userId, ctx.user.id),