OpenID Connect & OAuth 2.0 – Security Best Practices
summary
Overview of concrete security changes and fixes for OAuth 2.0 / OpenID Connect: recommends deprecate implicit and resource owner password grants, keep only client credentials for machine clients and authorization code for interactive clients, and always use PKCE and exact redirect URI matching; warns about real attacks seen — referer leakage, subdomain takeover, authorization code injection, mix‑up attacks — and prescribes fixes: typed JWTs and mutual TLS, invalidate one‑time codes, enforce content security and Referrer‑Policy, prefer system/browser callbacks and pushed authorization requests.
AI-written summary · about
chapters (26)
- 0:00Intro
- 3:27Some Context...
- 9:46Simplified
- 10:21Attack Model (3)
- 14:18Implicit Flow Request
- 14:39Implicit Flow Response
- 16:47Grand Unification
- 17:34Machine to Machine
- 18:16Client Authentication
- 20:44Sender Constrained Access Tokens w/ MTLS
- 24:30Interactive Applications
- 26:28Redirect URI Validation Attacks
- 29:01Credential Leakage via Referrer Headers
- 29:50Authorization Code Injection
- 30:43Mitigation: Proof key for Code Exchange
- 31:54Countermeasures Summary
- 32:49Mix Up Attack (Variant 1)
- 35:54Mix Up Countermeasures
- 36:24How does ASP.NET Core prevent Mix Up Attacks?
- 38:23Anti Pattern: Native Login Dialogs
- 38:48Using a browser with Code Flow + PKCE
- 40:42Different Approaches
- 41:33Browser-based Applications (aka SPAs)
- 44:14Anti-Forgery Protection
- 47:02Refresh Token Storage in Browsers
- 47:21What's next?
related talks
59mOpenID Connect & OAuth 2.0 – Security Best Practices
01h 02mOpenID Connect & OAuth 2.0 – Security Best Practices
01h 05mCommon mistakes and misconceptions in Web App Security using OAuth 2.0 and OpenId Connect
01h 00mImplementing OpenID Connect and OAuth 2.0 – Tips from the Trenches
01h 02mBuilding Clients for OpenID Connect/OAuth 2-based Systems
46mOAuth2/OIDC best practices conjugated in present, past simple and future
47mIntroduction to OAuth 2.0 and OpenID Connect
29mFireside Chat About OAuth 2.0
