OAuth & OIDC
Delegated authorization, the authorization code flow with PKCE, and the identity layer on top — with the "OAuth is not login" distinction taken seriously.
Every lesson below identifies the asset, attacker capability and boundary before naming the vulnerability. Controls are split into prevention, detection and recovery; residual risk is explicit.
A protocol for letting an application act on a user's behalf against a third-party API without ever holding the user's password — which is a different problem from logging users into your own site.
The flow that keeps tokens off the front channel: the browser carries only a one-time code, which the client exchanges for tokens over a back channel — with PKCE proving that the exchanging party is the one that started the request.
OAuth plus an identity layer: an ID token issued to your client, signed by the provider, containing verified claims about who the user is — which is the piece OAuth deliberately does not provide.