Get api/Login -> WhoAmI
This commit is contained in:
		| @@ -16,7 +16,7 @@ using Microsoft.AspNetCore.Authorization; | ||||
|  Authorize(AuthenticationSchemes = "Identity.Application")] | ||||
| public class InventoryController : Controller { | ||||
|     #region Constants | ||||
|     private const int AMOUNT_SCROLL = 5; | ||||
|     private const int AMOUNT_SCROLL = 6; | ||||
|  | ||||
|     #endregion | ||||
|  | ||||
| @@ -136,7 +136,7 @@ public class InventoryController : Controller { | ||||
|     public ActionResult<int> Delete(int? id) { | ||||
|         int rid = 0; | ||||
|         if (!id.HasValue) { | ||||
|             _logger.LogError(8, "Delete sans Id."); | ||||
|             _logger.LogError(8, "Tentative de vente sans Id."); | ||||
|             return BadRequest(); | ||||
|         } | ||||
|         try { | ||||
| @@ -151,7 +151,7 @@ public class InventoryController : Controller { | ||||
|                                                  Product.States.Discontinued : | ||||
|                                                  Product.States.BackOrder; | ||||
|             } else { | ||||
|                 _logger.LogError(8, "Vente de produit pas en stock."); | ||||
|                 _logger.LogError(8, $"Vente de produit pas en stock. Id Produit: {prod.Id}"); | ||||
|                 return BadRequest(); | ||||
|             } | ||||
|             _context.Products.Update(prod); | ||||
|   | ||||
| @@ -7,28 +7,38 @@ using Microsoft.AspNetCore.Identity; | ||||
| using GrossesMitainesAPI.Data; | ||||
| using SignInResult = Microsoft.AspNetCore.Identity.SignInResult; | ||||
| using Microsoft.AspNetCore.Authentication.Cookies; | ||||
| using System.Security.Principal; | ||||
| using GrossesMitainesAPI.Models; | ||||
|  | ||||
| [EnableCors("_myAllowSpecificOrigins"), ApiController, Route("api"),  | ||||
|  Authorize(AuthenticationSchemes = "Identity.Application")] | ||||
| public class LoginController : Controller { | ||||
|     //private readonly UserManager<InventoryUser> _userMan; | ||||
|     private readonly UserManager<InventoryUser> _userMan; | ||||
|     private readonly SignInManager<InventoryUser> _signInMan; | ||||
|  | ||||
|     public LoginController(SignInManager<InventoryUser> signin) {  | ||||
|     public LoginController(SignInManager<InventoryUser> signin, UserManager<InventoryUser> userman) {  | ||||
|         this._signInMan = signin; | ||||
|         this._userMan = userman; | ||||
|     } | ||||
|  | ||||
|     public class User {  | ||||
|         public string username { get; set; } | ||||
|         public string password { get; set; } | ||||
|     public class LoginUser { | ||||
|         public string username { get; set; } = ""; | ||||
|         public string password { get; set; } = ""; | ||||
|     } | ||||
|  | ||||
|     [HttpGet, Route("Login")] | ||||
|     public ReturnUserViewModel WhoAmI() { | ||||
|         var user = _userMan.GetUserAsync(_signInMan.Context.User); | ||||
|         user.Wait(); | ||||
|         return new ReturnUserViewModel(user.Result); | ||||
|     } | ||||
|  | ||||
|     [HttpPost, Route("Login"), AllowAnonymous] | ||||
|     public async Task<SignInResult> Login(User user, bool rememberMe = false) { | ||||
|     public async Task<SignInResult> Login(LoginUser user, bool rememberMe = false) { | ||||
|         return await _signInMan.PasswordSignInAsync(user.username, user.password, rememberMe, false); | ||||
|     } | ||||
|  | ||||
|     [HttpPost, Route("Logout")] | ||||
|     public void Logout() { _signInMan.SignOutAsync(); } | ||||
|     public void Logout() => _signInMan.SignOutAsync(); | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user