public async Task <IActionResult> Login([FromBody] Login login) { await this.Authenticate(login.Username); var user = await _userManager.FindByNameAsync(login.Username); var token = MakeToken(user); var result = new PersonLoginResponse { Token = token, Id = user.Id, UserName = user.UserName }; if (user is Admin) { result.Role = "admin"; } else { result.Role = "user"; } if (!Request.Headers.ContainsKey("www-authenticate")) { Request.Headers.Append("www-authenticate", "Bearer " + token); } Response.Cookies.Append("www-authenticate", token, new CookieOptions { MaxAge = TimeSpan.FromMinutes(60) }); Response.Cookies.Append(".AspNetCore.Application.Id", token, new CookieOptions { MaxAge = TimeSpan.FromMinutes(60) }); return(Ok(result)); }
public async Task <IActionResult> Register([FromBody] Register register) { var user = this.mappersFacade.PersonMapper.MapPersonFromRegister(register); var identityResult = await _userManager.CreateAsync(user, register.Password); if (!identityResult.Succeeded) { return(BadRequest(identityResult.Errors)); } await _signInManager.SignInAsync(user, false); var token = MakeToken(user); var result = new PersonLoginResponse { Token = token, Id = user.Id, Role = "user" }; return(Ok(result)); }