fix: fehlende Dateien aus vorherigem Commit nachreichen
CSRF-Schutz, DHL-Versandmarken, Entra-ID-SSO, ApiCore-Sync und die Harvest-isPublished-Migration waren gestaged aber nicht im letzten Commit enthalten — Gitea-Actions-Build brach mit "Module not found" fuer genau diese Dateien ab. Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
1 parent
4d3100e9ba
commit
b6db9254a9
10 files changed
+1205
No files matched your search
@@ -0,0 +1,26 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import { getBaseUrl } from "@/lib/url";
|
||||
import { setEntraOAuthCookie } from "@/lib/auth";
|
||||
import { signEntraOAuthState } from "@/lib/session";
|
||||
import { isEntraConfigured, buildEntraAuthorizeUrl, generatePkcePair, generateOAuthState } from "@/lib/entra";
|
||||
|
||||
/**
|
||||
* Startet die Microsoft-Anmeldung ("Mit Microsoft anmelden" auf /konto):
|
||||
* erzeugt PKCE-Paar + CSRF-state, hinterlegt beides in einem kurzlebigen,
|
||||
* signierten Cookie (siehe lib/session.ts ENTRA_OAUTH_COOKIE) und leitet zu
|
||||
* Microsofts /authorize-Endpunkt weiter.
|
||||
*/
|
||||
export async function GET() {
|
||||
if (!isEntraConfigured()) {
|
||||
const url = new URL("/konto", getBaseUrl());
|
||||
url.searchParams.set("error", "SSO ist noch nicht konfiguriert. Bitte melde dich mit E-Mail und Passwort an.");
|
||||
return NextResponse.redirect(url);
|
||||
}
|
||||
|
||||
const { codeVerifier, codeChallenge } = generatePkcePair();
|
||||
const state = generateOAuthState();
|
||||
const cookieToken = await signEntraOAuthState(state, codeVerifier);
|
||||
await setEntraOAuthCookie(cookieToken);
|
||||
|
||||
return NextResponse.redirect(buildEntraAuthorizeUrl({ state, codeChallenge }));
|
||||
}
|
||||
Reference in new issue
Block a user