Next.js: Authentication (Best Practices for Server Components, Actions, Middleware)