What is OAuth?
Start course

This course deals with how to deploy, configure, and manage some keys aspects of Azure API management (APIM). In particular, we focus on the authentication mechanism and go into depth about how to set up OAuth 2.0, including creating the Azure AD required application registrations. To help with understanding and troubleshooting the OAuth flow, we utilize Postman to check and validate our configuration.

Next, we take a look at how we can alter API requests at various scopes using API policies. Finally, we look at how to view effective API policies that span multiple scopes and also how to trace API policies during runtime.

Learning Objectives

  • Deploy Azure API Management and import an existing API
  • Gain an understanding of how the configure authentication against APIM using OAuth 2.0
  • Implement API policies against the imported API to alter the API request
  • Use Postman to make API requests against APIM and request and use OAuth authorization tokens
  • Secure the imported API by requiring a valid Azure AD token

Intended Audience



Let's review the OAuth authentication protocol. OAuth allows a user to prove their identity without having to share their secure password. It covers authorization, it does not cover authentication. A user can obtain a token, which they give to an application to use as proof of that user's identity. This token is often referred to as a bearer token. Using bearer tokens means third party services, once configured, can validate a user with their identity provider, and provide access to privileged or secure resources. 

What is the difference between OAuth and OpenID Connect? The OAuth 2.0 protocol was designed to allow authorization to occur over HTTP. OpenID Connect was designed to be an additional layer on top of the OAuth 2.0 protocol, and adds authentication. For our scenario, we will be focusing on the OAuth 2.0 protocol.

About the Author

Matthew Quickenden is a motivated Infrastructure Consultant with over 20 years of industry experience supporting Microsoft systems and other Microsoft products and solutions. He works as a technical delivery lead managing resources, understanding and translating customer requirements and expectations into architecture, and building technical solutions. In recent years, Matthew has been focused on helping businesses consume and utilize cloud technologies with a focus on leveraging automation to rapidly deploy and manage cloud resources at scale.