SPB Git forge

spb/trouve-ka

Public ★ Pinned

Trouve-KA — moteur de recherche web indépendant, Québec-first. Crawler distribué, index OpenSearch, ranking bilingue, galerie d'images. En prod : www.trouve-ka.com

40commits 1branches 0releases
9.2 MBsize
maindefault branch
23 days agolast push
Python 51.9% TypeScript 32.7% JavaScript 4.8% CSS 4.1% Shell 2.9% HTML 1.8% SQL 1.5%
1.0 KB · 23 lines typescript
Raw Blame History
1// Auteur : Simon-Pierre Boucher — contact@spboucher.ai2// Départ SSO « Se connecter avec KA » : redirige vers le hub d'identité du3// Groupe KA (groupe-ka.com) avec un state opaque signé localement (le state4// transporte aussi la destination `next` de retour — chemin local seulement).5import { NextRequest, NextResponse } from "next/server";6import { CLIENT_ID, KA_BASE_URL, KA_HUB_URL, newState, sanitizeNext } from "@/lib/ka-auth";78export function GET(req: NextRequest) {9  const next = sanitizeNext(req.nextUrl.searchParams.get("next"));10  const state = newState(next);11  if (!state || !process.env.KA_SSO_SECRET) {12    return NextResponse.json(13      { error: "SSO KA ID non configuré (KA_SSO_SECRET manquant)" },14      { status: 503 },15    );16  }17  const url = new URL(`${KA_HUB_URL}/sso/authorize`);18  url.searchParams.set("client_id", CLIENT_ID);19  url.searchParams.set("redirect_uri", `${KA_BASE_URL}/api/auth/ka/callback`);20  url.searchParams.set("state", state);21  return NextResponse.redirect(url);22}23