| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- // 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 bitforum.Models.User;
- using Microsoft.AspNetCore.Authorization;
- using Microsoft.AspNetCore.Identity;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Mvc.RazorPages;
- using Microsoft.Extensions.Logging;
- namespace bitforum.Areas.Identity.Pages.Account
- {
- public class LogoutModel : PageModel
- {
- private readonly SignInManager<ApplicationUser> _signInManager;
- private readonly ILogger<LogoutModel> _logger;
- public LogoutModel(SignInManager<ApplicationUser> signInManager, ILogger<LogoutModel> logger)
- {
- _signInManager = signInManager;
- _logger = logger;
- }
- public async Task<IActionResult> OnPost(string returnUrl = null)
- {
- await _signInManager.SignOutAsync();
- _logger.LogInformation("User logged out.");
- if (returnUrl != null)
- {
- return LocalRedirect(returnUrl);
- }
- 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();
- }
- }
- }
- }
|