public JsonResult <JsonUserModel> AuthenticateUser([FromBody] UserPresentationModel userPresentationModelObject) { UserBussinessEntity userBussinessEntityObject = MapperFromPresenationtoBL.Mapping <UserPresentationModel, UserBussinessEntity>(userPresentationModelObject); bool isAuthenticated = userBussinessServiceObject.RequestAuthentication(userBussinessEntityObject); if (isAuthenticated) { IAuthContainerModel model = GetJWTContainerModel(userPresentationModelObject.Username, "admin"); IAuthService authService = new JWTService(model.SecretKey); string token = authService.GenerateToken(model); int refreshToken = RandomNumber(0, 256); if (!authService.IsTokenValid(token)) { throw new UnauthorizedAccessException(); } else { ClaimsPrincipal claims = authService.GetTokenClaims(token); refreshTokens[refreshToken] = userPresentationModelObject.Username; } JsonUserModel jsonUserModelObject = new JsonUserModel(); jsonUserModelObject.RefreshToken = userPresentationModelObject.Username; jsonUserModelObject.JWTToken = token; return(Json(jsonUserModelObject)); } return(null); }
// GET public IActionResult Index() { var userPresentation = new UserPresentationModel() { UserId = (HttpContext.User.Identity as ClaimsIdentity)?.FindFirst(ClaimTypes.NameIdentifier)?.Value, UserName = HttpContext.User?.Identity?.Name, Date = (HttpContext.User.Identity as ClaimsIdentity)?.FindFirst(ClaimTypes.UserData)?.Value, // Date = _userManager.FindByIdAsync((HttpContext.User.Identity as ClaimsIdentity)?.FindFirst(ClaimTypes.NameIdentifier)?.Value).Result.DateRegistration.ToString("hh::mm:ss") }; return(View(userPresentation)); }
public UserPresentationModel GetUserFromClaims(HttpContext context) { string userID = context.User.Identity.Name; if (userID == null) { return(null); } UserPresentationModel user = new UserPresentationModel(); var userFromDb = userDataAccess.GetUser(Int32.Parse(userID)); user.Name = userFromDb.Name; user.UserID = userFromDb.ID; return(user); }
public async Task <ActionResult <UserPresentationModel> > GetUserInfo(string username) { UserPresentationModel result = null; try { var user = await UserService.FindAsync(x => x.Username == username); result = Mapper.Map <UserPresentationModel>(user); } catch (Exception e) { Logger.LogError(e, e.Message); return(StatusCode(500)); } return(result); }