fix authentication issue

This commit is contained in:
Sara
2023-11-01 14:52:20 +01:00
committed by Mathieu Virbel
parent 7ca152992c
commit 18c0d7a13b
3 changed files with 12 additions and 21 deletions

View File

@@ -30,9 +30,10 @@ export default function TranscriptDetails(details: TranscriptDetails) {
const topics = useTopics(api, transcriptId); const topics = useTopics(api, transcriptId);
const waveform = useWaveform(api, transcriptId); const waveform = useWaveform(api, transcriptId);
const useActiveTopic = useState<Topic | null>(null); const useActiveTopic = useState<Topic | null>(null);
const requireLogin = featureEnabled("requireLogin");
useEffect(() => { useEffect(() => {
if (featureEnabled("requireLogin") && !isAuthenticated) return; if (requireLogin && !isAuthenticated) return;
setTranscriptId(details.params.transcriptId); setTranscriptId(details.params.transcriptId);
}, [api]); }, [api]);

View File

@@ -62,24 +62,12 @@ export const getFiefAuth = async (url: URL) => {
export const getFiefAuthMiddleware = async (url) => { export const getFiefAuthMiddleware = async (url) => {
const protectedPaths = [ const protectedPaths = [
{
matcher: "/:domain/transcripts",
parameters: {},
},
{
matcher: "/:domain/transcripts/:path*",
parameters: {},
},
{
matcher: "/:domain/browse",
parameters: {},
},
{ {
matcher: "/transcripts", matcher: "/transcripts",
parameters: {}, parameters: {},
}, },
{ {
matcher: "/transcripts/:path*", matcher: "/transcripts/((?!new).*)",
parameters: {}, parameters: {},
}, },
{ {

View File

@@ -18,18 +18,20 @@ export async function middleware(request: NextRequest) {
if (config.features.requireLogin) { if (config.features.requireLogin) {
const fiefMiddleware = await getFiefAuthMiddleware(request.nextUrl); const fiefMiddleware = await getFiefAuthMiddleware(request.nextUrl);
const fiefResponse = fiefMiddleware(request); const fiefResponse = await fiefMiddleware(request);
if ( if (
request.nextUrl.pathname == "/" || request.nextUrl.pathname == "/" ||
request.nextUrl.pathname.startsWith("/transcripts") || request.nextUrl.pathname.startsWith("/transcripts") ||
request.nextUrl.pathname.startsWith("/browse") request.nextUrl.pathname.startsWith("/browse")
) { ) {
// return fiefAuthMiddleware(domain, config['auth_callback_url'])(request, {rewrite: request.nextUrl.origin + "/" + domain + request.nextUrl.pathname}) if (!fiefResponse.headers.get("x-middleware-rewrite")) {
const response = NextResponse.rewrite( fiefResponse.headers.set(
request.nextUrl.origin + "/" + domain + request.nextUrl.pathname, "x-middleware-rewrite",
); request.nextUrl.origin + "/" + domain + request.nextUrl.pathname,
// response = (await fiefResponse).headers );
return response; }
console.log(fiefResponse);
} }
return fiefResponse; return fiefResponse;
} }