About the Authors |
|
xi | |
About the Technical Reviewer |
|
xiii | |
Acknowledgments |
|
xv | |
Introduction |
|
xvii | |
|
Chapter 1 Introduction to Azure Active Directory |
|
|
1 | (16) |
|
|
2 | (1) |
|
|
3 | (1) |
|
|
4 | (12) |
|
|
5 | (5) |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
12 | (1) |
|
Pass-Through Authentication |
|
|
12 | (1) |
|
|
12 | (1) |
|
|
13 | (1) |
|
Claims-Based Authentication |
|
|
13 | (1) |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
16 | (1) |
|
Chapter 2 OAuth Flows and OpenID Connect |
|
|
17 | (30) |
|
|
18 | (3) |
|
|
21 | (21) |
|
|
22 | (8) |
|
|
30 | (5) |
|
Resource Owner Password Credentials Grant |
|
|
35 | (3) |
|
|
38 | (4) |
|
|
42 | (2) |
|
OpenID Connect Metadata Document |
|
|
42 | (1) |
|
Authentication Flow Using OpenID Connect |
|
|
43 | (1) |
|
|
44 | (2) |
|
|
46 | (1) |
|
|
46 | (1) |
|
Chapter 3 User-Based Authentication for Web Apps |
|
|
47 | (62) |
|
|
48 | (14) |
|
|
50 | (2) |
|
Creating a Single-Page Application |
|
|
52 | (8) |
|
|
60 | (2) |
|
Web App/Web API Authentication |
|
|
62 | (22) |
|
|
64 | (2) |
|
|
66 | (12) |
|
|
78 | (6) |
|
Web App: HTTP Triggered Azure Function Authentication |
|
|
84 | (10) |
|
|
86 | (2) |
|
|
88 | (1) |
|
Creating an HTTP Triggered Azure Function |
|
|
88 | (6) |
|
Web App/Web API/Web API 2 (On-Behalf-Of) |
|
|
94 | (10) |
|
|
96 | (3) |
|
Creating a Web App and a Web API 2 |
|
|
99 | (1) |
|
|
99 | (5) |
|
Multi-Factor Authentication |
|
|
104 | (4) |
|
The Need for Multi-Factor Authentication |
|
|
104 | (1) |
|
Configuring Multi-Factor Authentication for Azure AD |
|
|
105 | (3) |
|
|
108 | (1) |
|
Chapter 4 User-Based Authentication for Native Applications |
|
|
109 | (44) |
|
Authentication Using Code Grant Flow |
|
|
110 | (2) |
|
Windows Console Application |
|
|
112 | (11) |
|
|
112 | (1) |
|
|
113 | (1) |
|
|
114 | (1) |
|
|
115 | (2) |
|
|
117 | (6) |
|
Windows Presentation Foundation (WPF) |
|
|
123 | (8) |
|
|
124 | (1) |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
126 | (2) |
|
|
128 | (3) |
|
Universal Windows Platform (UWP) |
|
|
131 | (12) |
|
|
132 | (1) |
|
HTTP Triggered Azure Function Endpoint |
|
|
133 | (1) |
|
|
134 | (1) |
|
|
135 | (2) |
|
Creating an HTTP Triggered Azure Function |
|
|
137 | (6) |
|
|
143 | (8) |
|
|
144 | (1) |
|
HTTP Triggered Azure Function Endpoint |
|
|
144 | (1) |
|
|
145 | (1) |
|
|
146 | (2) |
|
Creating an HTTP Triggered Azure Function |
|
|
148 | (3) |
|
|
151 | (2) |
|
Chapter 5 Daemon Application Authentication |
|
|
153 | (22) |
|
Client Credential Authentication Flow |
|
|
153 | (11) |
|
|
155 | (1) |
|
|
155 | (1) |
|
|
156 | (1) |
|
|
157 | (2) |
|
|
159 | (5) |
|
Client Credential Authentication Flow Using a Certificate |
|
|
164 | (9) |
|
|
166 | (1) |
|
|
167 | (1) |
|
|
168 | (1) |
|
|
169 | (3) |
|
|
172 | (1) |
|
|
173 | (2) |
|
Chapter 6 Active Directory Custom Data Extensions |
|
|
175 | (20) |
|
|
175 | (5) |
|
Microsoft Graph with Azure AD |
|
|
176 | (4) |
|
|
180 | (3) |
|
Registering Your Application |
|
|
180 | (1) |
|
Creating a Console Application |
|
|
181 | (1) |
|
Calling Microsoft Graph to the Extend Resource Instance |
|
|
182 | (1) |
|
|
183 | (4) |
|
|
183 | (1) |
|
|
184 | (1) |
|
|
185 | (1) |
|
|
186 | (1) |
|
|
187 | (7) |
|
|
188 | (2) |
|
Add-Update Schema Extension Value |
|
|
190 | (2) |
|
Read Schema Extension Value |
|
|
192 | (1) |
|
Remove Schema Extension Value |
|
|
193 | (1) |
|
|
194 | (1) |
|
Chapter 7 Authenticating External Users |
|
|
195 | (24) |
|
Azure Active Directory B2B |
|
|
196 | (1) |
|
Configuring Azure AD for B2B Collaboration |
|
|
197 | (1) |
|
|
198 | (17) |
|
Configuring to Support a Guest Inviter |
|
|
201 | (3) |
|
Adding a Partner User as a Guest Inviter |
|
|
204 | (5) |
|
Adding Google as an Identity Provider |
|
|
209 | (4) |
|
Sending an Invitation to the End User |
|
|
213 | (2) |
|
|
215 | (3) |
|
|
218 | (1) |
|
|
219 | (28) |
|
|
220 | (2) |
|
|
222 | (14) |
|
Configuring a User from Another AAD Tenant |
|
|
223 | (1) |
|
Configuring an Application to Support Multitenancy |
|
|
224 | (3) |
|
Configuring the Applications |
|
|
227 | (8) |
|
Restricting the Azure AD Tenants |
|
|
235 | (1) |
|
Multitenancy in an Application |
|
|
236 | (9) |
|
|
245 | (2) |
|
Chapter 9 Introduction to Authorization |
|
|
247 | (30) |
|
|
248 | (1) |
|
Policy-Based Authorization |
|
|
249 | (3) |
|
|
252 | (3) |
|
|
255 | (3) |
|
Claims-Based Authorization |
|
|
258 | (8) |
|
Customizing Azure AD Claims |
|
|
261 | (5) |
|
Resource-based Authorization |
|
|
266 | (9) |
|
|
275 | (2) |
Index |
|
277 | |