Skip to content

Latest commit

 

History

History
162 lines (92 loc) · 5.83 KB

File metadata and controls

162 lines (92 loc) · 5.83 KB

APIM Developer Portal Identity Integration

This architecture shows how to enable access to the developer portal using both Azure AD (AAD B2B) and Azure AD B2C. Includes screen captures showing the overall sign in experience.

Reference Architecture

AAD Identity Provider Download Multi-tab Visio and PDF

Azure Documentation

AAD Dev Portal Integration

B2C Dev Portal Integration

Design Components and Considerations

  1. Traffic Flows

    1. Blue/Cyan : Backend API Connections
    2. Green: Developer Portal Sign in experience using AAD
    3. Red: Developer Portal Sign-in experience using B2C
  2. Note: The above diagram shows the APIM internal mode with Application gateway but it can be used with External and Default mode as well. Detailed implementation of internal and external is explained in previous sections in this series.

  3. Basic Authentication is the default methad the is available with API Management.

  4. AAD Auth allows access to the developer portal from users from Azure AD or Corporate AD accounts sync'd to AAD using Azure AD Connect

  5. AAD B2C Auth (Requires Premium Tier)

  6. There are three different tenants

    1. AAD Tenant(Custom Domain: penguintrails.com, default domain: xxxx.onmicrosoft.com)
    2. B2C Tenant (nnb2cdomain.onmicrosoft.com) associated with AAD tenant(penguintrails.com)
    3. Tenant where APIM resources are deployed.

Pre-requisites

Using Azure documentation link here ensure that you've external APIM in the internal mode.

Refer to common documentation link here for more details on pre-requisites

  1. APIM in deployed in internal mode.
  2. Products,APIs and subscriptions created
  3. VPN or Private Connectivity is optional in this design
  4. Internal and External APIs routable from APIM subnet
  5. Azure Provided default DNS resolution for API endpoints.
  6. Developer Portal Published
  7. Troubleshooting Notes - here.

Basic Auth

This method is the default method that comes with API management and is based on Username and Password.

APIM Side (Default Configuration)

AAD Identity Provider

User Experience is as follows:

When accessing developer portal the user gets a sign in page

AAD Identity Provider

Confirmation Email goes to the user email ID

AAD Identity Provider

User gets automatically added in APIM

AAD Identity Provider

Azure AD

APIM Side Configuration

AAD Identity Provider AAD Identity Provider

Azure AD Tenant side Configuration

Register the application

AAD Identity Provider AAD Identity Provider

AAD Identity Provider

Import the AAD Group

AAD Identity Provider

If permissions are not setup correctly it will result in this error

AAD Identity Provider

AAD User Experience

AAD Identity Provider

User is automatically added in APIM

AAD Identity Provider

Azure AD B2C

Azure Documentation

AAD Dev Portal Integration AAD Dev Portal Integration

Pre-requisites

Make sure the following prequisites are completed. More documentation here.

Azure AD B2C tenant

Application registered in your tenant

User flows created in your tenant

Published API in Azure API Management

An Azure AD B2C tenant

b2c Dev Portal

Signup and Signin User flows that are created in your tenant

b2c Dev Portal b2c Dev Portal b2c Dev Portal b2c Dev Portal

An application that's registered in b2C tenant

b2c Dev Portal b2c Dev Portal b2c Dev Portal

APIM Configuration in Azure Portal

Add Identity Provider to APi Management Portal b2c Dev Portal

Publish the API in Azure API Management

b2c Dev Portal

Full Sign in experience

b2c Dev Portal

User Created

b2c Dev Portal

TODO:

  1. Add JWT token policy
  2. Protect backend API