You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -20,81 +20,81 @@ This tutorial aims to take you through the fundamentals of modern authentication
20
20
21
21
-[Node.js v14 LTS or later](https://nodejs.org/en/download/)
22
22
-[Visual Studio Code](https://code.visualstudio.com/download)
23
-
- A modern web browser (to use thhe[popup experience](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/initialization.md#choosing-an-interaction-type) during sign-in and token acquisition, your browser should allow popups)
23
+
- A modern web browser (to use the[popup experience](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/initialization.md#choosing-an-interaction-type) during sign-in and token acquisition, your browser should allow popups)
24
24
25
-
Please refer to each sample's README for sample-specific prerequisites.
25
+
Please refer to each sample's README for sample-specific prerequisites.
26
26
27
-
## Recommendations
28
27
29
-
-[jwt.ms](https://jwt.ms) for inspecting your tokens
30
-
-[Fiddler](https://www.telerik.com/fiddler) for monitoring your network activity and troubleshooting
31
-
- Check [MSAL.js FAQ](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/FAQ.md) and [MSAL Node FAQ](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-node/docs/faq.md) for your questions
32
-
- Follow the [Azure AD Blog](https://techcommunity.microsoft.com/t5/azure-active-directory-identity/bg-p/Identity) to stay up-to-date with the latest developments
28
+
The following tables are a summary of code samples alongside links to tutorials on how to integrate various app types with Azure AD for customers:
33
29
34
-
Please refer to each sample's README for sample-specific recommendations.
30
+
- The **Explore and run code sample guide** uses a sample app to show you how to add identity and access management (IAM) capabilities to your applications using Microsoft Entra External ID for customers.
35
31
36
-
## Contents
32
+
- The **Build and integrate tutorial** offers detailed guidance on how to build an app from the ground up, walking you through the packages and code needed to add IAM support to both new or existing applications.
37
33
38
-
### Chapter 1: Sign-in a user to your application
39
34
40
-
|||
41
-
|---------------|---------------|
42
-
| <imgsrc="./1-Authentication/0-sign-in-vanillajs/ReadmeFiles/topology.png"width="200"> |[**Sign-in using VanillaJS SPA**](./1-Authentication/0-sign-in-vanillaJS/README.md) </br> Sign-in your users with **Azure AD for Customers** and learn to work with **ID Tokens**. Learn how **single sign-on (SSO)** works. Learn to integrate with **user-flows** and **external identity providers**. |
43
-
| <imgsrc="./1-Authentication/1-sign-in-react/ReadmeFiles/topology.png"width="200"> |[**Sign-in using React SPA**](./1-Authentication/1-sign-in-react/README.md) </br> Sign-in your users with **Azure AD for Customers** and learn to work with **ID Tokens**. Learn how **single sign-on (SSO)** works. Learn to integrate with **user-flows** and **external identity providers**. |
44
-
| <imgsrc="./1-Authentication/2-sign-in-angular/ReadmeFiles/topology.png"width="200"> |[**Sign-in using Angular SPA**](./1-Authentication/2-sign-in-angular/README.md) </br> Sign-in your users with **Azure AD for Customers** and learn to work with **ID Tokens**. Learn how **single sign-on (SSO)** works. Learn to integrate with **user-flows** and **external identity providers**. |
45
-
| <imgsrc="./1-Authentication/3-sign-in-electron/ReadmeFiles/topology.png"width="200"> |[**Sign-in using Electron desktop app**](./1-Authentication/3-sign-in-electron/README.md) </br> Sign-in your users with **Azure AD for Customers** and learn to work with **ID Tokens**. Learn how **single sign-on (SSO)** works. Learn to integrate with **user-flows** and **external identity providers**. |
46
-
| <imgsrc="./1-Authentication/4-sign-in-device-code/ReadmeFiles/topology.png"width="200"> |[**Sign-in using a headless Node.js app**](./1-Authentication/4-sign-in-device-code/README.md) </br> Sign-in your users with **Azure AD for Customers** and learn to work with **ID Tokens**. Learn how **single sign-on (SSO)** works. Learn to integrate with **user-flows** and **external identity providers**. |
47
-
| <imgsrc="./1-Authentication/5-sign-in-express/ReadmeFiles/topology.png"width="200"> |[**Sign-in using Express.js web app**](./1-Authentication/5-sign-in-express/README.md) </br> Sign-in your users with **Azure AD for Customers** and learn to work with **ID Tokens**. Learn how **single sign-on (SSO)** works. Learn to integrate with **user-flows** and **external identity providers**. |
35
+
### Chapter 1: Sign-in a user to your application with Azure AD for customers
36
+
37
+
38
+
Language/platform + app type |Scenario| GitHub code sample | Explore and run code sample | Build and integrate tutorial |
VanillaJS SPA|  | [**Sign in using a Vanilla JavaScript SPA**](./1-Authentication/0-sign-in-vanillajs/README.md) | [Sign in users](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-single-page-app-vanillajs-sample-sign-in) | [Sign in users](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-single-page-app-vanillajs-prepare-tenant) |
41
+
|React SPA||[**Sign in using a React SPA**](./1-Authentication/1-sign-in-react/README.md)|[Sign in users](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-single-page-application-react-sample)|[Sign in users](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-single-page-application-react-prepare-tenant)|
42
+
Angular SPA| | [**Sign in using an Angular SPA**](./1-Authentication/2-sign-in-angular/README.md) | [Sign in users](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-single-page-application-angular-sample) | --- |
43
+
Electron desktop app| | [**Sign in using an Electron desktop app**](./1-Authentication/3-sign-in-electron/README.md) | [Sign in users](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-desktop-app-electron-sample-sign-in) | --- |
44
+
Node.js browserless app| | [**Sign in using a Node.js browserless app**](./1-Authentication/4-sign-in-device-code/README.md) | [Sign in users](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-browserless-app-node-sample-sign-in) | [Sign in users](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-browserless-app-node-sign-in-overview) |
45
+
Node.js & Express web app| | [**Sign in using a Node.js & Express web app**](./1-Authentication/5-sign-in-express/README.md) | [Sign in users](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-web-app-node-sample-sign-in) | [Sign in users](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-web-app-node-sign-in-overview) |
46
+
48
47
49
48
### Chapter 2: Protect an API and call the API from your client app
50
49
51
-
|||
52
-
|-----------------|---------------|
53
-
| <imgsrc="./2-Authorization/0-call-api-vanillajs/ReadmeFiles/topology.png"width="200"> |[**Vanilla JavaScript SPA protected and call a web API on Azure AD for Customers**](./2-Authorization//0-call-api-vanillajs/README.md) </br> Protect your web API with the **Azure AD for Customers**. Use a client application to sign-in a user, acquire an **Access Token** for your web API and call your protected web API. |
54
-
| <imgsrc="./2-Authorization/1-call-api-react/ReadmeFiles/topology.png"width="200"> |[**React SPA protected and call a web API on Azure AD for Customers**](./2-Authorization/1-call-api-react/README.md) </br> Protect your web API with the **Azure AD for Customers**. Use a client application to sign-in a user, acquire an **Access Token** for your web API and call your protected web API. |
55
-
| <imgsrc="./2-Authorization/2-call-api-angular/ReadmeFiles/topology.png"width="200"> |[**Angular SPA protected and call a web API on Azure AD for Customers**](./2-Authorization/2-call-api-angular/README.md) </br> Protect your web API with the **Azure AD for Customers**. Use a client application to sign-in a user, acquire an **Access Token** for your web API and call your protected web API. |
56
-
| <imgsrc="./2-Authorization/3-call-api-node-daemon/ReadmeFiles/topology.png"width="200"> |[**Node daemon protected and call a web API on Azure AD for Customers**](./2-Authorization/3-call-api-node-daemon/README.md) </br> Protect your web API with the **Azure AD for Customers**. Use a daemon application to acquire an **Access Token** for your web API and call your protected web API. |
57
-
| <imgsrc="./2-Authorization/4-call-api-express/ReadmeFiles/topology.png"width="200"> |[**Node web app protected and call a web API on Azure AD for Customers**](./2-Authorization/4-call-api-express/README.md) </br> Protect your web API with the **Azure AD for Customers**. Use a client application to sign-in a user, acquire an **Access Token** for your web API and call your protected web API. |
50
+
The following table summarizes resources with guidance on how to protect your web API with the **Azure AD for Customers**. You then use a client application to sign-in a user, acquire an **Access Token** for your app to call the protected web API.
58
51
59
-
## We'd love your feedback
60
52
61
-
Were we successful in addressing your learning objective? Consider taking a moment to [share your experience with us](https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR_ivMYEeUKlEq8CxnMPgdNZUNDlUTTk2NVNYQkZSSjdaTk5KT1o4V1VVNS4u).
53
+
Language/platform + app type |Scenario| GitHub code sample | Explore and run code sample | Build and integrate tutorial |
Node.js & Express web app| | [**Sign in users and call an API using a Node.js & Express web app**](./2-Authorization/4-call-api-express/README.md) | [Sign in users and call an API](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-web-app-node-sample-sign-in-call-api) | [Sign in users and call an API](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-web-app-node-sign-in-call-api-overview) |
56
+
Node.js daemon application|| [**Call an API using a Node.js daemon application**](/2-Authorization/3-call-api-node-daemon/README.md) | [Call an API](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-daemon-node-sample-call-api) |[Call an API](https://learn.microsoft.com/azure/active-directory/external-identities/customers/how-to-daemon-node-call-api-overview) |
57
+
Vanilla JavaScript SPA| | [**Sign in users and call an API using a Vanilla JavaScript SPA**](./2-Authorization//0-call-api-vanillajs/README.md) | -- |-- |
58
+
React SPA| | [**Sign in users and call an API using a React SPA**](./2-Authorization/1-call-api-react/README.md) | -- |-- |
59
+
Angular SPA| | [**Sign in users and call an API using an Angular SPA**](./2-Authorization/2-call-api-angular/README.md) | -- |-- |
60
+
61
+
62
+
If you're looking for more samples on different authentication and authorization scenarios, see [Samples and guides for customer identity and access management (CIAM) in Azure Active Directory](https://learn.microsoft.com/azure/active-directory/external-identities/customers/samples-ciam-all?tabs=apptype)
62
63
63
64
## More information
64
65
65
-
Learn more about the **Microsoft identity platform**:
66
+
Learn more about the **Microsoft Entra External ID for customers**:
-[Microsoft Entra External ID for customers](https://learn.microsoft.com/azure/active-directory/external-identities/customers/overview-customers-ciam)
69
70
-[Overview of Microsoft Authentication Library (MSAL)](https://docs.microsoft.com/azure/active-directory/develop/msal-overview)
70
-
-[Application types for Microsoft identity platform](https://docs.microsoft.com/azure/active-directory/develop/v2-app-types)
71
-
-[Understanding Azure AD application consent experiences](https://docs.microsoft.com/azure/active-directory/develop/application-consent-experience)
72
-
-[Understand user and admin consent](https://docs.microsoft.com/azure/active-directory/develop/howto-convert-app-to-be-multi-tenant#understand-user-and-admin-consent)
73
-
-[Application and service principal objects in Azure Active Directory](https://docs.microsoft.com/azure/active-directory/develop/app-objects-and-service-principals)
74
-
-[Microsoft identity platform best practices and recommendations](https://docs.microsoft.com/azure/active-directory/develop/identity-platform-integration-checklist)
71
+
-[Supported features in Microsoft Entra External ID for customers](https://learn.microsoft.com/azure/active-directory/external-identities/customers/concept-supported-features-customers)
72
+
-[Authentication methods and identity providers for customers](https://learn.microsoft.com/azure/active-directory/external-identities/customers/concept-authentication-methods-customers)
73
+
-[Microsoft Entra External ID for customers frequently asked questions](https://learn.microsoft.com/azure/active-directory/external-identities/customers/faq-customers)
74
+
75
+
76
+
## We'd love your feedback
77
+
78
+
Were we successful in addressing your learning objective? Consider taking a moment to [share your experience with us](https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR_ivMYEeUKlEq8CxnMPgdNZUNDlUTTk2NVNYQkZSSjdaTk5KT1o4V1VVNS4u).
Use [Stack Overflow](http://stackovergrant.com/questions/tagged/msal) to get support from the community.
84
-
Ask your questions on Stack Overflow first and browse existing issues to see if someone has asked your question before.
85
-
Make sure that your questions or comments are tagged with [`ms-identity``azure-ad``azure-ad-b2c``msal``react`].
84
+
- Post a question to [Microsoft Q&A](https://learn.microsoft.com/answers/) to get answers to your identity app development questions directly from Microsoft engineers, Azure Most Valuable Professionals (MVPs), and members of our expert community.
86
85
87
-
If you find a bug in the sample, please raise the issue on [GitHub Issues](../../issues).
86
+
- Use [Stack Overflow](https://stackoverflow.com/questions/tagged/microsoft-entra-external-id) to get support from the community.
87
+
Ask your questions on Stack Overflow first and browse existing issues to see if someone has asked your question before. Make sure that your questions or comments are tagged with [`ms-identity``microsoft-entra-external-id``msal`].
88
88
89
-
To provide a recommendation, visit the following [User Voice page](https://feedback.azure.com/forums/169401-azure-active-directory).
89
+
- If you find a bug in the sample, please raise the issue on [GitHub Issues](../../issues).
90
90
91
91
## Contributing
92
92
93
93
This project welcomes contributions and suggestions. Most contributions require you to agree to a
94
94
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
95
95
the rights to use your contribution. For details, visit [cla.opensource.microsoft.com](https://cla.opensource.microsoft.com).
96
96
97
-
## Code of Conduct
97
+
## Code of conduct
98
98
99
99
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
100
100
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
0 commit comments