OAuth 2.0

OAuth 2.0

Explore OAuth 2.0. What is it and how can you best implement it?

OAuth 2.0 is the industry-standard protocol for authorization and access delegation. It specifies a process for resource owners to authorize third-part access to their resources without sharing their credentials. OAuth facilitates fast and secure authentication and authorization for users to APIs, servers, devices and apps. It does this without sharing password information and instead uses access tokens to prove an identity, keeping user credentials safe.

Supported OAuth 2.0 RFCs

Supported OAuth 2.0 RFCs

OAuth related standards supported by the Curity Identity Server.

Pushed Authorization Requests (PAR)

Pushed Authorization Requests (PAR)

What is PAR, and how does it help improve security for financial-grade APIs?

Client Assertions and the JWKS URI

Client Assertions and the JWKS URI

Protecting APIs with strong security by requiring clients to authenticate using JWT client assertions

Mutual TLS Sender Constrained Access Tokens

Mutual TLS Sender Constrained Access Tokens

Mutual TLS Sender Constrained Tokens add another security layer and mitigate the risk of misuse of tokens.

Mutual TLS Client Authentication

Mutual TLS Client Authentication

What is Mutual TLS, and how does Client Authentication with Mutual TLS work?

OAuth Revoke Flow

OAuth Revoke Flow

The OAuth Revoke Flow Explained.

OAuth Refresh

OAuth Refresh

The OAuth Refresh Tokens and Flow Explained.

OAuth Device Flow

OAuth Device Flow

The OAuth Device Flow Explained.

OAuth Resource Owner Password Credentials Flow

OAuth Resource Owner Password Credentials Flow

The OAuth Resource Owner Password Credentials Flow Explained.

OAuth Client Credentials Flow

OAuth Client Credentials Flow

The OAuth Client Credentials Flow Explained.

OAuth Token Exchange Flow

OAuth Token Exchange Flow

OAuth 2.0 Token Exchange Explained.

OAuth Implicit Flow

OAuth Implicit Flow

The OAuth Implicit Flow Explained.

Demonstration of Proof-of-Possession overview

Demonstration of Proof-of-Possession overview

What is Demonstration of Proof-of-Possession (DPoP), and how can it be used to improve the security of public clients.

OAuth Code Flow

OAuth Code Flow

The OAuth Code Flow Explained.

Proof Key for Code Exchange Overview

Proof Key for Code Exchange Overview

Learn how the Proof Key for Code Exchange (PKCE) should be used in the OAuth server.

OAuth 2.0 Overview

OAuth 2.0 Overview

An overview of the OAuth 2.0 authorization framework, summarizing the roles of resource owner, client, resource server and authorization server.

How-tos

Azure API Management OAuth Proxy Policy

Azure API Management OAuth Proxy Policy

Implementing the OAuth Proxy in Azure with an API Management Policy

AWS API Gateway OAuth Proxy Module

AWS API Gateway OAuth Proxy Module

An implementation of the Token Handler's OAuth Proxy module for AWS API Gateway.

Cloudflare Worker OAuth Proxy Module

Cloudflare Worker OAuth Proxy Module

An implementation of the Token Handler's OAuth Proxy module for Cloudflare Workers.

NGINX Lua OAuth Proxy Plugin

NGINX Lua OAuth Proxy Plugin

An OAuth proxy plugin that can run in a LUA enabled reverse proxy to translate secure cookies to access tokens

NGINX OAuth Proxy Module

NGINX OAuth Proxy Module

An OAuth proxy module that runs in an NGINX reverse proxy, to translate secure cookies to access tokens

Device Authorization Grant

Device Authorization Grant

The OAuth 2.0 Device Authorization Grant solves the problem of authenticating a user on a device that does not have user friendly input capabilities. Authentication instead takes place out-of-band on a different device.

User Consent

User Consent

Handling user consent for claims

Resource Owner Password Flow

Resource Owner Password Flow

This tutorial explains how to use the Resource Owner Password Credential Flow (ROPC) to obtain tokens from the Curity Identity Server

Revoking OAuth Tokens

Revoking OAuth Tokens

Learn how to revoke access and refresh tokens issued according to the OAuth standard

Refresh Tokens

Refresh Tokens

This tutorial explains how to issue Refresh Tokens in the Curity Identity Server, control their lifetime, include/exclude them for certain clients, and use them to get new access tokens

Client Credentials Flow

Client Credentials Flow

OAuth has a flow called client credentials, that comes in handy when there are requests to your APIs that are not involving a user. Using the Client Credentials flow, it's possible to let servers communicate with your API without modifying the APIs themselves.

Hybrid Flow

Hybrid Flow

This tutorial explains how to obtain an OAuth access token using the hybrid flow. The guide includes step by step instructions for how to set it up and configure it in the Curity Identity Server.

Implicit Flow

Implicit Flow

Using the OAuth 2.0 Implicit Flow

Code Flow

Code Flow

This tutorial explains how to obtain an OAuth access token using the code flow, a popular message exchange pattern used by server-based applications. The guide includes step by step instructions for how to set it up and configure it in the Curity Identity Server.

Videos

Ditch the Browser, Native API-Driven App Authentication with Passkeys
Test using OAuth Tools
OAuth Device Flow
OAuth and OpenID Connect - What's next?
Using Custom Token Issuers in the Curity Identity Server
OAuth Tokens As Your Identity API
Scalable API Security Using OAuth
Financial Grade APIs Using OAuth and OpenID Connect
Securing APIs in a Cloud Native Environment Using OAuth
Securing APIs and Microservices with OAuth and OpenID Connect
OAuth and OpenID Connect for PSD2 and Third-Party Access
REST API Overview with Integration of CLI & UI