mirror of
https://github.com/velocitatem/cvfs.git
synced 2026-05-31 08:43:37 +00:00
normalize authentik issuer paths
This commit is contained in:
@@ -6,11 +6,13 @@ export async function GET(req: NextRequest) {
|
|||||||
|
|
||||||
if (!code) return NextResponse.redirect(`${origin}/login?error=no_code`);
|
if (!code) return NextResponse.redirect(`${origin}/login?error=no_code`);
|
||||||
|
|
||||||
const issuer = process.env.AUTHENTIK_ISSUER;
|
const issuerRaw = process.env.AUTHENTIK_ISSUER;
|
||||||
const clientId = process.env.AUTHENTIK_CLIENT_ID;
|
const clientId = process.env.AUTHENTIK_CLIENT_ID;
|
||||||
const clientSecret = process.env.AUTHENTIK_CLIENT_SECRET;
|
const clientSecret = process.env.AUTHENTIK_CLIENT_SECRET;
|
||||||
const redirectUri = `${process.env.NEXT_PUBLIC_BASE_URL ?? origin}/api/auth/callback`;
|
const redirectUri = `${process.env.NEXT_PUBLIC_BASE_URL ?? origin}/api/auth/callback`;
|
||||||
|
|
||||||
|
const issuer = issuerRaw?.replace(/\/application\/o\/authorize\/?$/, '').replace(/\/$/, '');
|
||||||
|
|
||||||
if (!issuer || !clientId || !clientSecret) {
|
if (!issuer || !clientId || !clientSecret) {
|
||||||
return NextResponse.redirect(`${origin}/login?error=oidc_not_configured`);
|
return NextResponse.redirect(`${origin}/login?error=oidc_not_configured`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,8 +3,13 @@
|
|||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { useRouter } from 'next/navigation';
|
import { useRouter } from 'next/navigation';
|
||||||
|
|
||||||
|
function normalizeIssuer(url?: string | null) {
|
||||||
|
if (!url) return null;
|
||||||
|
return url.replace(/\/application\/o\/authorize\/?$/, '').replace(/\/$/, '');
|
||||||
|
}
|
||||||
|
|
||||||
function authentikUrl() {
|
function authentikUrl() {
|
||||||
const issuer = process.env.NEXT_PUBLIC_AUTHENTIK_ISSUER;
|
const issuer = normalizeIssuer(process.env.NEXT_PUBLIC_AUTHENTIK_ISSUER);
|
||||||
const clientId = process.env.NEXT_PUBLIC_AUTHENTIK_CLIENT_ID;
|
const clientId = process.env.NEXT_PUBLIC_AUTHENTIK_CLIENT_ID;
|
||||||
const base = process.env.NEXT_PUBLIC_BASE_URL ?? (typeof window !== 'undefined' ? window.location.origin : '');
|
const base = process.env.NEXT_PUBLIC_BASE_URL ?? (typeof window !== 'undefined' ? window.location.origin : '');
|
||||||
if (!issuer || !clientId) return null;
|
if (!issuer || !clientId) return null;
|
||||||
|
|||||||
Reference in New Issue
Block a user