Book Image

Azure Active Directory for Secure Application Development

By : Sjoukje Zaal
Book Image

Azure Active Directory for Secure Application Development

By: Sjoukje Zaal

Overview of this book

Azure Active Directory for Secure Application Development is your one-stop shop for learning how to develop secure applications using modern authentication techniques with Microsoft Azure AD. Whether you’re working with single-tenant, multi-tenant, or line-of-business applications, this book contains everything you need to secure them. The book wastes no time in diving into the practicalities of Azure AD. Right from the start, you’ll be setting up tenants, adding users, and registering your first application in Azure AD. The balance between grasping and applying theory is maintained as you move from the intermediate to the advanced: from the basics of OAuth to getting your hands dirty with building applications and registering them in Azure AD. Want to pin down the Microsoft Graph, Azure AD B2C, or authentication protocol best practices? We’ve got you covered. The full range of Azure AD functionality from a developer perspective is here for you to explore with confidence. By the end of this secure app development book, you’ll have developed the skill set that so many organizations are clamoring for. Security is mission-critical, and after reading this book, you will be too.
Table of Contents (14 chapters)
Part 1: Getting Started with the Microsoft Identity Platform
Part 2: Authentication and Protocols
Part 3: Azure AD B2C

What this book covers

Chapter 1, Microsoft Identity Platform Overview, introduces the Microsoft identity platform and gives a high-level overview of the features and capabilities it has to offer. Besides this high-level overview, we also cover the evolution of the Microsoft identity platform as well.

Chapter 2, Azure AD Application Model, focuses on the Azure AD application model and how this is used to sign in users or delegate the sign-in to other identity providers. We dive deep into this by covering all the important parts of the application model for developers.

Chapter 3, Application Types and User Consent, builds upon the previous chapter. We look at the different application types that you can develop and cover user consent. We build a web application that authenticates against Azure AD using our app registration that we registered in the previous chapter.

Chapter 4, The Basics and Evolution of Authentication, takes a step back to look at the basics and evolution of authentication. We examine how authentication has evolved over time into the modern authentication protocols that we are using right now in our applications.

Chapter 5, Securing Applications with OAuth 2.0, OpenID Connect, and MSAL, covers OAuth 2.0, OpenID Connect, and Microsoft Authentication Library (MSAL) in depth. We finish this chapter by building a secure and modern application using these techniques, protocols, and frameworks.

Chapter 6, Building Secure Services Using the Microsoft Graph API, examines the Microsoft Graph API in depth. We look at the different APIs provided by Microsoft Graph and how to build queries to retrieve data. Lastly, we finish our demo that we started building in the previous chapter and add the functionality to call Microsoft Graph on behalf of the signed-in user.

Chapter 7, Introducing Azure Active Directory B2C, focuses fully on Azure AD B2C. We cover user flows and policies, and set up a web application that authenticates against Azure AD B2C.

Chapter 8, Advanced Features of Azure AD B2C, looks at identity providers in Azure AD B2C, and how you can configure them and add them to your user flows. We cover how you can change the UI of the default Azure AD B2C authentication experience and cover custom domains in Azure AD B2C.

Chapter 9, Azure AD B2C Custom Policies, dives into custom policies and what they can bring to your custom applications. We cover the Identity Experience Framework and create our own custom policy that connects to an Azure function and stored user profile information inside Azure Table storage.