// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable disable using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.Logging; using ODCWeb.Models; namespace ODCWeb.Areas.Identity.Pages.Account { public class LogoutModel : PageModel { private readonly SignInManager _signInManager; private readonly ILogger _logger; public LogoutModel(SignInManager signInManager, ILogger logger) { _signInManager = signInManager; _logger = logger; } public async Task OnPost(string returnUrl = null) { await _signInManager.SignOutAsync(); _logger.LogInformation("User logged out."); if (returnUrl != null) { /* return LocalRedirect(returnUrl);*/ /* return RedirectToAction("Index","Home", new { area = "Admin" });*/ return LocalRedirect("/Identity/Account/Login"); } else { // This needs to be a redirect so that the browser performs a new // request and the identity for the user gets updated. return RedirectToPage(); } } } }