Estoy tratando de crear un sistema de autenticación con jwt en nextjs. Así que construí un middleware que podría verificar el token jwt y usarlo para configurar un sistema de autenticación como este:
export default function middleware(request, event) { const token = request.cookies.token let authenticated = false if (pathname === '/dashboard') { if (token) { try { jwt.verify(token, 'HvpkPMarcwoZFAo') authenticated = true } catch { return NextResponse.redirect('/signin') } } else { return NextResponse.redirect('/signin') } } }De acuerdo con el código anterior, si el usuario no ha iniciado sesión, será redirigido a la página de inicio de sesión.
Pero el problema es que quiero que algunos componentes cambien según la autenticación (por ejemplo, no mostrar el botón de registro para usuarios registrados). ¿Puedo obtener datos de este middleware (por ejemplo, un valor booleano) para usarlos en diferentes componentes? Usé response.locals en Expressjs. ¿Hay una solución similar en Nextjs?
Debe consultar https://nextjs.org/docs/basic-features/data-fetching#getserversideprops-server-side-rendering
getServerSideProps recibe contexto en params;)