/
home
/
techb158
/
balavpn.abdallabala.com
/
src
/
app
/
api
/
auth
/
sso
/
/home/techb158/balavpn.abdallabala.com/src/app/api/auth/sso
mkdir
upload
Name
Size
Mode
Actions
callback/
-
0755
rm
route.js
1170
0644
edit
dl
rm
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" }, }); } }
Save
cmd:
run