using Hcs.WebApp.Data; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using System.Security.Claims; namespace Hcs.WebApp.Identity { internal static class IdentityComponentsEndpointRouteBuilderExtensions { public static IEndpointConventionBuilder MapAdditionalIdentityEndpoints(this IEndpointRouteBuilder endpoints) { ArgumentNullException.ThrowIfNull(endpoints); var accountGroup = endpoints.MapGroup("/account"); accountGroup.MapPost("/logout", async ( ClaimsPrincipal user, SignInManager signInManager, [FromForm] string returnUrl) => { await signInManager.SignOutAsync(); return TypedResults.LocalRedirect($"~/{returnUrl}"); }); return accountGroup; } } }