The primary class of Microsoft Authentication Library (MSAL) is PublicClientApplication. This class represents your application in the Azure AD B2C system. When the app initializes, create an instance of PublicClientApplication in MainWindow.xaml.cs. This can be used throughout the window.
When a user opts to signs up, you want to initiate a sign-up flow that uses the sign-up policy you created. By using MSAL, you just call pca.AcquireTokenAsync(). The parameters you pass to AcquireTokenAsync() determine which token you receive, the policy used in the authentication request, and more.
You can initiate a sign-in flow in the same way that you initiate a sign-up flow. When a user signs in, make the same call to MSAL, this time by using your sign-in policy:
Again, you can execute an edit-profile policy in the same behavior:
In all of these cases, MSAL either returns a token in AuthenticationResult or throws an exception. Each time you get a token from MSAL, you can use the AuthenticationResult.User object to update the user data in the app, such as the UI.
Finally, we can end a user's session with the app when the user selects Sign out. When using MSAL, this is accomplished by clearing all of the tokens from the token cache:
-
Add a new WPF application named "AzureADB2CDesktopApp"
-
Install the needed NuGet Packages to Configure the MVC App
Install-Package Microsoft.Identity.Client -IncludePrerelease
-
Create a class file Globals.cs, open the file and add property values. his class is used throughout AzureADB2CDesktopApp to reference commonly used values.
-
Create a class file FileCache.cs for simple persist cache implementation of desktop app.
-
Create the PublicClientApplication
-
Check for tokens on App Start
-
Sign-up flow
-
Sign-in flow
-
Edit-profile flow
-
Sign-out flow