using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using System.Threading.Tasks; using zero.Core; using zero.Core.Api; using zero.Core.Entities; using zero.Core.Identity; namespace zero.Web.Controllers { //[ZeroAuthorize("tobi")] public class TestController : BackofficeController { private IAuthenticationApi Api { get; set; } private SignInManager SignInManager; public TestController(IZeroConfiguration config, IAuthenticationApi api, SignInManager signInManager) : base(config) { Api = api; SignInManager = signInManager; } [HttpPost] public async Task Login([FromQuery] string username, [FromQuery] string password) { Microsoft.AspNetCore.Identity.SignInResult result = await SignInManager.PasswordSignInAsync(username, password, false, true); return Json(new { username, password, result }); } [ZeroAuthorize] public async Task GetUser() { User user = await SignInManager.UserManager.GetUserAsync(HttpContext.User); return Json(new { user }); } [HttpPost] public async Task Logout() { await SignInManager.SignOutAsync(); return Json(new { success = true }); } } }