using System; using System.Collections.Generic; using System.Security.Claims; using System.Threading.Tasks; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using TestApp02.Data; namespace BlazorCookieAuth.Server.Pages { [AllowAnonymous] public class LoginModel : PageModel { public string ReturnUrl { get; set; } private readonly BiudAuthService _biudAuthService; public LoginModel(BiudAuthService pbiudAuthService) { _biudAuthService= pbiudAuthService; } public async Task OnGetAsync(string paramUsername, string paramPassword) { string returnUrl = Url.Content("~/"); if (ModelState.IsValid) { ClaimsPrincipal claimsPrincipal = _biudAuthService.AuthenticateUser(paramUsername, paramPassword); _biudAuthService.Users.Add(paramUsername,claimsPrincipal); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal); return LocalRedirect(returnUrl); } return Page(); } } }