INNER CODE UNIT · TypeScript
listEnabledProviders
jonwiggins/optio · apps/api/src/services/oauth/index.ts:27
export async function listEnabledProviders(): Promise<EnabledProvider[]> {
const { listSignInProviders } = await import("../sign-in-config-service.js");
const views = await listSignInProviders();
const out: EnabledProvider[] = [];
for (const name of ["github", "google", "gitlab", "oidc"] as const) {
const view = views.find((v) => v.provider === name);
if (view?.enabled) out.push({ name, displayName: view.displayName });
}
return out;
}
/** Returns providers that have their client ID configured by the environment alone. */
export function getEnabledProviders(): EnabledProvider[] {
const result: EnabledProvider[] = [];
if (process.env.GITHUB_OAUTH_CLIENT_ID || process.env.GITHUB_APP_CLIENT_ID) {
result.push({ name: "github", displayName: "GitHub" });
}
if (process.env.GOOGLE_OAUTH_CLIENT_ID) {