admin管理员组文章数量:1289620
i have this code, i cant seems to extract the userType form user_public_metadata. something has change in clerk sessionClaim and cant figure it out
import { clerkMiddleware, createRouteMatcher } from "@clerk/nextjs/server";
import { NextResponse } from "next/server";
const isStudentRoute = createRouteMatcher(["/user/(.*)"]);
const isTeacherRoute = createRouteMatcher(["/teacher/(.*)"]);
export default clerkMiddleware(async (auth, req) => {
const { sessionClaims } = await auth();
const userRole =
(sessionClaims?.metadata as { userType: "student" | "teacher" })
?.userType || "student";
if (isStudentRoute(req)) {
if (userRole !== "student") {
const url = new URL("/teacher/courses", req.url);
return NextResponse.redirect(url);
}
}
if (isTeacherRoute(req)) {
if (userRole !== "teacher") {
const url = new URL("/user/courses", req.url);
return NextResponse.redirect(url);
}
}
});
本文标签: clerkClerck authentificationStack Overflow
版权声明:本文标题:clerk - Clerck authentification - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741478793a2381043.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论