"In a technical interview for a software development role, if you were tasked with designing a system to manage user logins and authentication, how would you approach the architecture, considering security best practices like password hashing and session management, and explain the key components involved?"