-
Notifications
You must be signed in to change notification settings - Fork 0
/
middleware.ts
24 lines (21 loc) · 978 Bytes
/
middleware.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { authMiddleware } from "@clerk/nextjs";
import { redirectToSignIn } from "@clerk/nextjs";
import { NextResponse } from "next/server";
// This example protects all routes including api/trpc routes
// Please edit this to allow other routes to be public as needed.
// See https://clerk.com/docs/references/nextjs/auth-middleware for more information about configuring your middleware
export default authMiddleware({
publicRoutes: ["/api/uploadthing", "/api/socket/io"],
ignoredRoutes: ["/((?!api|trpc))(_next|.+..+)(.*)", "/api/socket/io"],
afterAuth(auth, req, evt) {
// handle users who aren't authenticated
if (!auth.userId && !auth.isPublicRoute) {
return redirectToSignIn({ returnBackUrl: req.url });
}
// redirect them to organization selection page
return NextResponse.redirect("https://discord-clone-default-nick.up.railway.app");
},
});
export const config = {
matcher: ["/((?!.*\\..*|_next).*)", "/", "/(api|trpc)(.*)"],
};