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
Copy file name to clipboardExpand all lines: README.md
+24-23Lines changed: 24 additions & 23 deletions
Original file line number
Diff line number
Diff line change
@@ -36,34 +36,35 @@ In this tutorial, you will learn, incrementally, how to add sign-in users to you
36
36
37
37
### Details of the chapters
38
38
39
-
1. The first phase is to [add sign-in users to your Web App](1-WebApp-OIDC) leveraging the Microsoft identity platform for developers (formerly Azure AD v2.0). You'll learn how to use the ASP.NET Core OpenID Connect (OIDC) middleware itself leveraging [Microsoft Identity Model extensions for .NET](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/wiki) to protect your Web App.
39
+
1. The first phase is to [add sign-in users to your Web App](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/1-WebApp-OIDC) leveraging the Microsoft identity platform for developers (formerly Azure AD v2.0). You'll learn how to use the ASP.NET Core OpenID Connect (OIDC) middleware itself leveraging [Microsoft Identity Model extensions for .NET](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/wiki) to protect your Web App.
Depending on your business needs, you have the flexibility to decide which audience to sign-in to your application:
44
-
1. If you are a Line of Business (LOB) developer, you'll want to [sign-in users in your organization](./1-WebApp-OIDC/1-1-MyOrg) with their work or school accounts.
45
-
1. If you are an ISV, you'll want to [sign-in users in any organization](./1-WebApp-OIDC/1-2-AnyOrg), still with their work or school accounts.
46
-
1. If you are an ISV targeting both organizations and individuals, you'll want to [sign-in users with their work and school accounts or Microsoft personal accounts](./1-WebApp-OIDC/1-3-AnyOrgOrPersonal).
47
-
1. LOB developer or ISV, if you target organizations (work or school accounts), you can also enable your application to sign-in users in [national and sovereign clouds](./1-WebApp-OIDC/1-4-Sovereign).
48
-
1. If you are a business wanting to connect with your customers, or with small business partners, you might also want to [sign-in users with their social identities](./1-WebApp-OIDC/1-5-B2C) using Microsoft Azure AD B2C.
49
-
1. Finally, you'll want to let users [sign-out](./1-WebApp-OIDC/1-6-SignOut) of our application, or globally from their browser session.
44
+
1. If you are a Line of Business (LOB) developer, you'll want to [sign-in users in your organization](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/1-WebApp-OIDC/1-1-MyOrg) with their work or school accounts.
45
+
1. If you are an ISV, you'll want to [sign-in users in any organization](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/1-WebApp-OIDC/1-2-AnyOrg), still with their work or school accounts.
46
+
1. If you are an ISV targeting both organizations and individuals, you'll want to [sign-in users with their work and school accounts or Microsoft personal accounts](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/1-WebApp-OIDC/1-3-AnyOrgOrPersonal).
47
+
1. LOB developer or ISV, if you target organizations (work or school accounts), you can also enable your application to sign-in users in [national and sovereign clouds](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/1-WebApp-OIDC/1-4-Sovereign).
48
+
1. If you are a business wanting to connect with your customers, or with small business partners, you might also want to [sign-in users with their social identities](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/1-WebApp-OIDC/1-5-B2C) using Microsoft Azure AD B2C.
49
+
1. Finally, you'll want to let users [sign-out](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/1-WebApp-OIDC/1-6-SignOut) of our application, or globally from their browser session.
50
50
51
-
2. Your Web App might only ned to sign-in users, in that case you have all you need, but if your app needs to call APIs that you've developed or Microsoft APIs, then the following chapters will be of help.
51
+
2. Your Web App might only need to sign-in users, in that case you have all you need, but if your app needs to call APIs that you've developed or Microsoft APIs, then the following chapters will be of help.
52
52
53
53

54
54
55
-
Learn how to update your Web App to [call Microsoft Graph](2-WebApp-graph-user):
55
+
Learn how to update your Web App to [call Microsoft Graph](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/2-WebApp-graph-user):
56
56
57
-
1. Using the [authorization code flow](2-WebApp-graph-user/2-1-Call-MSGraph), initiated by ASP.NET Core, but completed by Microsoft Authentication Library for .NET (MSAL.NET)
58
-
2. Learn how to [customize the token cache serialization](2-WebApp-graph-user/2-2-TokenCache/README-incremental-instructions.md)
57
+
1. Using the [authorization code flow](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/2-WebApp-graph-user/2-1-Call-MSGraph), initiated by ASP.NET Core, but completed by Microsoft Authentication Library for .NET (MSAL.NET)
58
+
2. Learn how to [customize the token cache serialization](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/2-WebApp-graph-user/2-2-TokenCache/README-incremental-instructions.md)
59
59
with different technologies depending on your needs (in memory cache, Session token cache, SQL Cache, Redis Cache)
60
-
3. Learn the [**Planned**][best practices and practices to avoid](./2-WebApp-graph-user/2-3-Best-Practices) when calling an API.
60
+
3. Learn how to [build a multi-tenant SaaS application](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/2-WebApp-graph-user/2-3-Multi-Tenant)
61
+
4. Using [national and sovereign clouds](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/2-WebApp-graph-user/2-4-Sovereign-Call-MSGraph) when calling an Microsoft Graph.
61
62
62
63
3. Your Web App might also want to call other Web APIs than Microsoft Graph.
63
64
64
65

65
66
66
-
Learn how to [call several Microsoft APIS](./3-WebApp-multi-APIs). This also explains how to handle conditional access, incremental consent and claims challenge:
67
+
Learn how to [call several Microsoft APIS](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/3-WebApp-multi-APIs). This also explains how to handle conditional access, incremental consent and claims challenge:
67
68
68
69
1. the Azure Storage API. This is the opportunity to learn about incremental consent, and conditional access, and how to process them.
69
70
2. the Azure ARM API. This is the opportunity to learn about admin consent.
@@ -74,23 +75,23 @@ In this tutorial, you will learn, incrementally, how to add sign-in users to you
74
75
75
76

76
77
77
-
- Learn how to update your Web App to [call your own web API](./4-WebApp-your-API/4-1-MyOrg/README-incremental-instructions.md)
78
-
- Learn how to update you B2C Web App to [call you own B2C web API](./4-WebApp-your-API/4-2-B2C/README.md)
78
+
- Learn how to update your Web App to [call your own web API](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/4-WebApp-your-API/4-1-MyOrg/README-incremental-instructions.md)
79
+
- Learn how to update you B2C Web App to [call you own B2C web API](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/4-WebApp-your-API/4-2-B2C/README.md)
79
80
80
-
5. Once you know how to sign-in users and call Web APIs from your Web App, you might want to restrict part of the application depending on the user having a role in the application or belonging to a group. So far you've learnt how to add and process authentication. Now learn how to [add authorization to your Web application](./5-WebApp-AuthZ), restricting part of it to users
81
+
5. Once you know how to sign-in users and call Web APIs from your Web App, you might want to restrict part of the application depending on the user having a role in the application or belonging to a group. So far you've learnt how to add and process authentication. Now learn how to [add authorization to your Web application](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/5-WebApp-AuthZ), restricting part of it to users
81
82
82
-
1.[based on their application roles](./5-WebApp-AuthZ/5-1-Roles/README-incremental-instructions.md)
83
-
2.[based on their belonging to Azure AD groups](./5-WebApp-AuthZ/5-2-Groups/README-incremental-instructions.md)
83
+
1.[based on their application roles](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/5-WebApp-AuthZ/5-1-Roles/README-incremental-instructions.md)
84
+
2.[based on their belonging to Azure AD groups](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/5-WebApp-AuthZ/5-2-Groups/README-incremental-instructions.md)
84
85
85
-
6. Chances are that you want to [deploy your complete app to Azure](./6-Deploy-to-Azure). Learn how to do that, applying best practices:
86
+
6. Chances are that you want to [deploy your complete app to Azure](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/6-Deploy-to-Azure). Learn how to do that, applying best practices:
86
87
87
88
1. Changing the app registration to add more ReplyUris
88
89
2. Using certificates instead of client secrets
89
90
3. Possibly leveraging Managed identities to get these certificates from KeyVault
90
91
91
92
### Reusable code for your Web Apps and Web APIs
92
93
93
-
In this tutorial, the complexities of ASP.NET Core OpenID connect middleware and MSAL.NET are encapsulated into a library project that you can reuse in your own code, to make it easier to build your Web Apps on top of Microsoft identity platform for developers: [Microsoft.Identity.Web](Microsoft.Identity.Web)
94
+
In this tutorial, the complexities of ASP.NET Core OpenID connect middleware and MSAL.NET are encapsulated into a library project that you can reuse in your own code, to make it easier to build your Web Apps on top of Microsoft identity platform for developers: [Microsoft.Identity.Web](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/Microsoft.Identity.Web)
94
95
95
96
### Daemon apps - Out of scope
96
97
@@ -115,7 +116,7 @@ cd webapp
115
116
116
117
> Given that the name of the sample is pretty long, that it has sub-folders and so are the name of the referenced NuGet pacakges, you might want to clone it in a folder close to the root of your hard drive, to avoid file size limitations on Windows.
117
118
118
-
- We recommend that you start by the first part [1. WebApp signs-in users with Microsoft identity (OIDC)](1-WebApp-OIDC) where you will learn how to sign-in users within your own organization
119
+
- We recommend that you start by the first part [1. WebApp signs-in users with Microsoft identity (OIDC)](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/1-WebApp-OIDC) where you will learn how to sign-in users within your own organization
119
120
- It's however possible to start at any phase of the tutorial as the full code is provided in each folder.
120
121
121
122
## Community Help and Support
@@ -124,13 +125,13 @@ Use [Stack Overflow](http://stackoverflow.com/questions/tagged/msal) to get supp
124
125
Ask your questions on Stack Overflow first and browse existing issues to see if someone has asked your question before.
125
126
Make sure that your questions or comments are tagged with [`msal``dotnet`].
126
127
127
-
If you find a bug in the sample, please raise the issue on [GitHub Issues](../../issues).
128
+
If you find a bug in the sample, please raise the issue on [GitHub Issues](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/issues).
128
129
129
130
To provide a recommendation, visit the following [User Voice page](https://feedback.azure.com/forums/169401-azure-active-directory).
130
131
131
132
## Contributing
132
133
133
-
If you'd like to contribute to this sample, see [CONTRIBUTING.MD](/CONTRIBUTING.md).
134
+
If you'd like to contribute to this sample, see [CONTRIBUTING.MD](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/blob/master/CONTRIBUTING.md).
134
135
135
136
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
0 commit comments