Azure Active Directory won't logout using ASP.NET Core 2.1 MVC

Please check my way to add Azure AD authentication to ASP.NET Core 2.1 MVC application. The tool will add the authentication code for you. What you need to do is binding your sign in/out button to the method.

1.Click Connected Services->choose Authentication with Azure Active Directory.

enter image description here

2.You need to provide a login button for trigger the login page.

enter image description here

3.Input your tenant name for Domain and choose a way for providing application settings.

enter image description here

4.Click finish button to complete the configuration.

5.Delete app.UseBrowserLink() in Startup.cs.

6.Call SignOut() method in AccountController.cs to sign out the user. It works well.

[HttpGet]
        public IActionResult SignOut()
        {
            var callbackUrl = Url.Action(nameof(SignedOut), "Account", values: null, protocol: Request.Scheme);
            return SignOut(
                new AuthenticationProperties { RedirectUri = callbackUrl },
                CookieAuthenticationDefaults.AuthenticationScheme,
                OpenIdConnectDefaults.AuthenticationScheme);
        }

Since you are using the Microsoft.AspNetCore.Authentication.AzureAD.UI library , you can directly redirect user to https://localhost:xxxxx/AzureAD/Account/SignOut for sign out , Source code :

[HttpGet("{scheme?}")]
public IActionResult SignOut([FromRoute] string scheme)
{
    scheme = scheme ?? AzureADDefaults.AuthenticationScheme;
    var options = Options.Get(scheme);
    var callbackUrl = Url.Page("/Account/SignedOut", pageHandler: null, values: null, protocol: Request.Scheme);
    return SignOut(
        new AuthenticationProperties { RedirectUri = callbackUrl },
        options.CookieSchemeName,
        options.OpenIdConnectSchemeName);
}

You can now remove the OnRedirectToIdentityProviderForSignOut event .