The Nuts and Bolts of OAuth 2.0
What you'll learn
- The basics of OAuth 2.0 and OpenID Connect
- How to implement an OAuth client from scratch
- Best practices for developing OAuth applications (server-side, native, and SPAs)
- How to protect an API with JWT access tokens
- A basic understanding of HTTP requests, responses, and JSON
- Experience with Postman, curl, or any other HTTP client
OAuth 2.0 has become the industry standard for providing secure access to web APIs, allowing applications to access users' data without compromising security. Companies around the world add OAuth to their APIs to enable secure access from their own mobile apps and third-party IoT devices and even access to banking APIs.
Security expert Aaron Parecki breaks down each of the OAuth flows (grant types) and applies them to use cases such as implementing OAuth for web apps, native apps, and SPAs. In addition to learning how applications can use OAuth to access APIs, you’ll learn how to use OpenID Connect to get the user’s identity.
If you're building an API, you'll learn the differences and tradeoffs between different access token formats, how to choose an appropriate access token lifetime, and how to design scopes to protect various parts of your APIs.
This course includes the latest recommendations from the OAuth working group including covering everything from using PKCE for all types of applications to explaining the motivations behind dropping the Implicit and Password grants from the spec. These security recommendations and more will be rolled up into the new OAuth 2.1 update, so this course will give you an excellent head start on learning the best way to use OAuth going forward!
By the end of this course, you’ll understand:
The problems OAuth was created to solve
The basics of OAuth 2.0 and OpenID Connect
Best practices for developing web-based and native OAuth apps
The difference between local and remote access token validation
How to validate JWT access tokens
And you’ll be able to:
Implement an OAuth client from scratch
Use OpenID Connect to get the user’s name email address
Protect an API with OAuth access tokens
Design scopes to protect various parts of your API
This course is for you because...
You’re a software architect, application developer, or technical decision maker
You work with APIs, web apps, mobile apps, or microservices
You want to deepen your understanding of application security and become a technical leader
A basic understanding of HTTP requests, responses, and JSON
No programming language knowledge is necessary since the exercises can be completed without writing any code!
To follow along with the exercises, you'll also need:
Experience with Postman, curl, or any other HTTP client
A free Okta Developer account
This course also gives you exclusive access to an interactive web-based tool that will guide you through the exercises and give feedback along the way! It's like having the instructor provide real-time feedback as you are working through the exercises!
Who this course is for:
- Software architects, application developers, or technical decision makers
- API developers who want to better secure their APIs
Aaron Parecki is a Senior Security Architect at Okta. He is the author of OAuth 2.0 Simplified, a guide to building OAuth apps and servers. He regularly writes and gives talks about OAuth and online security, and is the editor of several specifications in the OAuth working group at the IETF. Aaron has spoken at conferences around the world about OAuth, data ownership, quantified self, and home automation, and his work has been featured in Wired, Fast Company and more.