Since its publication in RFC 6749 and RFC 6750, OAuth 2.0 has gotten massive traction in the market.
It became the standard for API protection and its usage has been expanded to use-cases and environments than originally considered and anticipated including the financial industry, health care, e-commerce, and e-government. It also became the foundation for OpenID Connect—which is now the most popular authentication protocol for modern applications.
These environments need more security features than originally specified in OAuth. That’s the reason both the IETF (BCPs) and the OpenID Foundation (FAPI) started working on a number of documents which update the original specs and threat models and give more prescriptive guidance. The discussion during creation of those documents led to the conclusion that OAuth itself needs updates to provide a better security baseline for the things to come.
The workshop has four parts:
First, we look at the so called “best current practices” (or BCP) documents that cover security patterns and anti-patters as well as common attacks and implementation flaws and how to fix them. This includes general implementation guidance, as well as very specific guidance for web applications, SPAs and native apps. All these BCPs combined form the foundation for the upcoming revision to OAuth called OAuth 2.1
Next, we will look at currently released add-on specifications that help improve the security of today’s OAuth architectures. These include:
Hardening the front-channel with PKCE and signed authorization requests
Hardening the back-channel with asymmetric key based client authentication and mutual TLS
Hardening API calls with proof-of-possession access tokens
Next, we will look at future specs that take OAuth to the next level and are in line with the grand vision currently code-named “OAuth 3.0”. This includes:
A replacement for the scope parameter using rich authorization request
Eliminating all classes of attacks against the browser front-channel using pushed authorization requests
Last, we will have a look at FAPI 2.0 which defines a basic and advanced high security profile for OAuth 2.0 and 2.1 (independent of financial scenarios) and how to apply it to the technologies you learned throughout the day.