An authentication component that is injected into a NextJS dynamic route, implementing many basic authentication features.