Full-stack authentication