I need OAuth-based social login added to my web application for Microsoft, Facebook and Twitter (X). Nothing is in place yet—there are no developer accounts or registered apps—so the job starts with creating each provider’s developer profile, gathering the client IDs / secrets and configuring the required redirect URIs. Once the credentials are ready, I want clean, reusable code that: • initiates the OAuth 2.0 / OpenID Connect flow for the three providers • handles the callback, exchanges the code for tokens and retrieves the basic user profile (name, email, avatar where available) • gracefully links a returning user to an existing account or creates a new one when no match is found • stores only the minimum data needed and keeps provider tokens secure (env variables, encrypted secrets or a vault—whatever matches best practice for a modern web stack) Please include concise setup notes so I can reproduce the configuration in staging and production without extra hand-holding. A short readme or inline code comments are fine as long as everything needed is crystal clear.