Mô tả

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

  • 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!

Bạn sẽ học được gì

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

Yêu cầu

  • A basic understanding of HTTP requests, responses, and JSON
  • Experience with Postman, curl, or any other HTTP client

Nội dung khoá học

16 sections

Welcome

5 lectures
Intro to this Course
02:23
A Brief History of OAuth
03:36
How OAuth Improves Application Security
05:19
OAuth vs OpenID Connect
04:19
The Basics
7 questions

API Security Concepts

7 lectures
Roles in OAuth
04:46
Application Types
04:11
User Consent
05:37
Front Channel vs Back Channel
06:13
Front Channel vs Back Channel
2 questions
Application Identity
06:54
API Security Concepts
10 questions

OAuth Clients

2 lectures
Introduction to OAuth Clients
01:21
Preparing for the Exercises
1 question

OAuth for Server-Side Applications

3 lectures
Registering an Application
04:15
Authorization Code Flow for Web Applications
11:01
OAuth for Web Server Applications
1 question

OAuth for Native Applications

6 lectures
The Unique Issues of Native Apps
01:10
Redirect URLs for Native Apps
03:34
Browser Security for Native Apps
04:13
Authorization Code Flow for Native Apps
09:07
Refresh Tokens for Native Apps
04:10
Using Refresh Tokens
1 question

OAuth for Single-Page Applications

5 lectures
Problems with the Browser Environment
04:43
Authorization Code Flow for Single-Page Applications
08:37
Protecting Tokens in the Browser
05:19
Securing the Browser with a Backend
02:30
OAuth for Single-Page Applications
1 question

OAuth for the Internet of Things

2 lectures
Limitations of IoT and Smarthome Devices
03:53
Device Flow for Browserless Devices
04:48

Client Credentials Flow

3 lectures
When to use the Client Credentials Grant
02:27
Client Credentials Grant for Machine-to-Machine Applications
02:04
Getting an Access Token with the Client Credentials Grant
1 question

Introduction to OpenID Connect

6 lectures
What is an ID Token
03:34
How ID Tokens are Different from Access Tokens
02:32
Obtaining an ID Token
05:23
Hybrid OpenID Connect Flows
04:29
Validating and Using an ID Token
06:24
Getting the User's Name and Email Address using OpenID Connect
1 question

Protecting an API with OAuth

1 lectures
Intro to Protecting an API with OAuth
01:17

Access Token Types and their Tradeoffs

4 lectures
Reference Tokens vs Self-Encoded Tokens
03:35
Pros and Cons of Reference Tokens
03:52
Pros and Cons of Self-Encoded Tokens
04:50
Protecting an API Endpoint with Access Tokens
2 questions

JWT Access Tokens

5 lectures
The Structure of a JWT Access Token
05:23
Remote Token Introspection
04:35
Local Token Validation
06:32
The Best of Both Worlds: Using an API Gateway
03:59
JWT Access Tokens
10 questions

Choosing Token Lifetimes

4 lectures
Increasing Security with Short Token Lifetimes
02:06
Improving User Experience with Long Token Lifetimes
03:50
Contextually Choosing Token Lifetimes
04:38
Token Lifetime Quiz
7 questions

Handling Revoked or Invalidated Access Tokens

5 lectures
Reasons Why an Access Token May become Invalidated
03:31
The Problem with Local Validation
04:10
Token Lifetime Considerations
01:31
How Applications can Revoke Access Tokens
02:19
Handling Revoked Tokens
1 question

OAuth Scopes

4 lectures
The Purpose of OAuth Scopes
02:47
Defining Scopes for your API
04:43
Prompting the User for Consent
03:01
Enforce Scopes in your API
1 question

Conclusion

3 lectures
The Future of OAuth: OAuth 2.1
02:58
Additional Resources and Further Reading
01:51
Thank You for Taking the Course!
01:16

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.