UNPKG

wcz-layout

Version:

30 lines (29 loc) 1.08 kB
import { scopes } from "virtual:wcz-layout"; import { createServerOnlyFn } from "@tanstack/react-start"; //#region src/lib/auth/msalServer.ts let ccaInstance = null; const getCCA = async () => { if (!ccaInstance) { const { createConfidentialClient } = await import("./entra-47nBhMK-.mjs"); ccaInstance = createConfidentialClient(); } return ccaInstance; }; /** * Client Credentials flow: Get app-only token (no user context) * Use when: Background jobs, scheduled tasks, service-to-service calls */ const getAppToken = createServerOnlyFn(async (scopeKey) => { const cca = await getCCA(); const defaultScopes = scopes[scopeKey].map((scope) => { const lastSlash = scope.lastIndexOf("/"); return `${scope.substring(0, lastSlash)}/.default`; }); const uniqueScopes = [...new Set(defaultScopes)]; const result = await cca.acquireTokenByClientCredential({ scopes: uniqueScopes }); if (!result) throw new Error("Failed to acquire app token"); return result.accessToken; }); //#endregion export { getAppToken as t }; //# sourceMappingURL=msalServer-Ce9p7sTC.mjs.map