Compare commits
No commits in common. "98f762d31e279adbf069d0ba0627f552b6a603a1" and "cc11e80e78aeed10574d07763f30ebfb2c6e590c" have entirely different histories.
98f762d31e
...
cc11e80e78
|
@ -1,10 +1,9 @@
|
|||
"use server"
|
||||
import prisma from 'app/lib/db';
|
||||
import { jwtVerify, JWTPayload, decodeJwt } from 'jose';
|
||||
import { cookies } from 'next/headers';
|
||||
|
||||
|
||||
export async function getJWTSecretKey() {
|
||||
export function getJWTSecretKey() {
|
||||
const secret = process.env.JWT_SECRET
|
||||
if (!secret) throw new Error("There is no JWT secret key")
|
||||
return new TextEncoder().encode(secret)
|
||||
|
@ -65,7 +64,7 @@ export async function logout() {
|
|||
return null
|
||||
}
|
||||
|
||||
export async function setUserDataCookie(userData) {
|
||||
export function setUserDataCookie(userData) {
|
||||
const cookieStore = cookies();
|
||||
cookieStore.set({
|
||||
name: 'userData',
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
"use server"
|
||||
import { NextRequest, NextResponse } from "next/server";
|
||||
import { verifyJwt } from "app/api/auth/actions";
|
||||
|
||||
|
@ -14,9 +13,7 @@ function matchesWildcard(path: string, pattern: string): boolean {
|
|||
}
|
||||
|
||||
export default async function(request: NextRequest) {
|
||||
// const url = `${process.env.NEXT_PUBLIC_BASE_URL}/login?redirect=${request.nextUrl.pathname + request.nextUrl.search}`
|
||||
const url = request.nextUrl.clone()
|
||||
url.pathname = "/login"
|
||||
const LOGIN = `${process.env.NEXT_PUBLIC_BASE_URL}/login?redirect=${request.nextUrl.pathname + request.nextUrl.search}`
|
||||
|
||||
if (protectedRoutes.some(pattern => matchesWildcard(request.nextUrl.pathname, pattern))) {
|
||||
const token = request.cookies.get('token')
|
||||
|
@ -24,7 +21,7 @@ export default async function(request: NextRequest) {
|
|||
//NOTE - may need to add logic to return 401 for api routes
|
||||
|
||||
if (!token) {
|
||||
return NextResponse.redirect(url)
|
||||
return NextResponse.redirect(LOGIN)
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -34,12 +31,12 @@ export default async function(request: NextRequest) {
|
|||
if (!jwtIsVerified) {
|
||||
//delete token
|
||||
request.cookies.delete('token')
|
||||
return NextResponse.redirect(url)
|
||||
return NextResponse.redirect(LOGIN)
|
||||
}
|
||||
} catch {
|
||||
//delete token (failsafe)
|
||||
request.cookies.delete('token')
|
||||
return NextResponse.redirect(url)
|
||||
return NextResponse.redirect(LOGIN)
|
||||
}
|
||||
|
||||
//redirect from login if already logged in
|
||||
|
|
Loading…
Reference in New Issue