/home/techb158/balavpn.abdallabala.com/src/app/api/auth/sso
NameSizeModeActions
callback/-0755rm
route.js11700644editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/src/app/api/auth/sso/route.js (1170B)
const { getOidcConfig, discoverProvider, generateState, stateCookieName, getCookieExpires } = require("../../../../lib/oidc"); export async function GET() { try { const config = getOidcConfig(); if (!config) { return new Response(JSON.stringify({ error: "SSO not enabled" }), { status: 501, headers: { "Content-Type": "application/json" }, }); } const disco = await discoverProvider(config.issuer); const state = generateState(); const params = new URLSearchParams({ response_type: "code", client_id: config.clientId, redirect_uri: config.redirectUrl, scope: "openid email profile", state, }); const location = `${disco.authorization_endpoint}?${params.toString()}`; return new Response(null, { status: 302, headers: { Location: location, "Set-Cookie": `${stateCookieName()}=${state}; HttpOnly; SameSite=Lax; Path=/; Expires=${getCookieExpires()}`, }, }); } catch (error) { return new Response(JSON.stringify({ error: error.message }), { status: 500, headers: { "Content-Type": "application/json" }, }); } }