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);
        }
Beispiel #2
0
        // 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));
        }
Beispiel #3
0
        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);
        }