proxy.ts 726 B

1234567891011121314151617181920212223242526
  1. import { NextResponse } from 'next/server'
  2. import type { NextRequest } from 'next/server'
  3. import { getToken } from 'next-auth/jwt'
  4. export async function proxy(request: NextRequest) {
  5. const { pathname } = request.nextUrl
  6. const restrictedPaths = ['/customer/login', '/customer/register']
  7. if (restrictedPaths.some((path) => pathname.startsWith(path))) {
  8. const token = await getToken({
  9. req: request,
  10. secret: process.env.NEXT_PUBLIC_NEXT_AUTH_SECRET
  11. })
  12. if (token) {
  13. return NextResponse.redirect(new URL('/', request.url))
  14. }
  15. }
  16. return NextResponse.next()
  17. }
  18. export const config = {
  19. matcher: ['/customer/login', '/customer/register'],
  20. }