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
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 PKCEfor 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 JWTaccess tokens
And you’ll be able to:
Implement an OAuth client from scratch
Protect the OAuth flows in native and JavaScript apps
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
Prerequisites
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 Auth0 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!