fix typings and edge config key issue

This commit is contained in:
Sara
2023-11-01 13:48:32 +01:00
committed by Mathieu Virbel
parent 2847ee177b
commit 7ca152992c
6 changed files with 58 additions and 35 deletions

View File

@@ -1,24 +1,22 @@
import { NextResponse, NextRequest } from "next/server";
import { get } from "@vercel/edge-config";
import { FiefAuth, IUserInfoCache } from "@fief/fief/nextjs";
import { getFiefAuth, getFiefAuthMiddleware } from "./app/lib/fief";
import { getFiefAuthMiddleware } from "./app/lib/fief";
import { getConfig } from "./app/lib/edgeConfig";
export async function middleware(request: NextRequest) {
const domain = request.nextUrl.hostname;
const config = await get(domain);
if (!config) return NextResponse.error();
const config = await getConfig(domain);
// Feature-flag protedted paths
if (
!config["features"]["browse"] &&
!config.features.browse &&
request.nextUrl.pathname.startsWith("/browse")
) {
return NextResponse.redirect(request.nextUrl.origin);
}
if (config["features"]["requireLogin"]) {
if (config.features.requireLogin) {
const fiefMiddleware = await getFiefAuthMiddleware(request.nextUrl);
const fiefResponse = fiefMiddleware(request);
if (