Category
System Design
8 notes.
Type
Tags
8 of 8 notes
No notes match these filters.
- 0018· procedure· intermediateOAuth 2.0 authorization code flow, step by stepThe seven-step dance behind 'Log in with Google'. Why the redirects exist, why the code is swapped for the token server-to-server, and where PKCE plugs the public-client hole.
- 0017· concept· intermediatePasswordless authentication: OTP, SSO, and OAuth/OIDCWhen you stop asking users for a password, what do you verify instead? Three answers — OTP proves channel ownership, SSO and OAuth/OIDC delegate identity to a trusted issuer.
- 0016· comparison· intermediatePassword auth: HTTP Basic vs session cookies vs tokensHow a server remembers an authenticated user across HTTP's stateless requests — Basic resends credentials, session cookies pin server-side state, tokens carry signed claims. The tradeoffs that pick one.
- 0015· concept· intermediatePGP encryption: keys, signatures, and what they actually protectPGP gives you two independent guarantees — secrecy via encryption with the recipient's public key, and authenticity via signing with your own private key. Most production uses want both, in that order.
- 0014· concept· intermediateHashing passwords (not encrypting them)Why passwords are hashed, never encrypted; why fast hashes like SHA-256 are wrong for this job; and how Argon2id / bcrypt / scrypt buy you decades against an attacker with the database.
- 0013· pattern· intermediateMulti-factor weighted sorting for relevanceCombine several signals into one comparable score by normalising each to [0,1] and taking a weighted sum. The maths is trivial; the trap is mixing raw, unbounded quantities and letting one signal dominate the rest.
- 0012· concept· intermediateConsistent hashingHow consistent hashing distributes keys across a changing set of nodes while keeping the number of re-mapped keys proportional to the change — and why naive modulo sharding falls apart the moment a node joins or leaves.
- 0003· pattern· intermediateIdempotency keys on write endpointsWhy every non-GET endpoint that touches money or external state needs an idempotency key, and how to implement one without footguns.