Exemple #1
0
        public async Task <IActionResult> GetUserProfile()
        {
            var    claim  = User.Claims;
            string userId = User.Claims.First(c => c.Type == "userID").Value;
            var    user   = await _userBL.GetById(int.Parse(userId));

            var role = await _roleBl.GetById(user.RoleId);

            user.Role = role;
            UserDetails userData = _mapper.Map <Models.UserDetails>(user);

            try
            {
                int premisesId = int.Parse(User.Claims.First(c => c.Type == "premisesID").Value);
                var premises   = await _premisesBL.GetById(premisesId);

                userData.PremisesName = premises.Name;
                var premisesType = await _premisesTypeBL.GetById(premises.TypeId);

                userData.PremisesType = premisesType.Name;
            }
            catch (Exception e)
            {
                return(Ok(new { data = userData }));
            }
            //return user;
            return(Ok(new { data = userData }));
        }
Exemple #2
0
        public async Task <IActionResult> Login([FromBody] Models.LoginRequest login)
        {
            try
            {
                var user = await _userBL.CheckLogin(login);

                user.Role = await _roleBL.GetById(user.RoleId);

                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new ClaimsIdentity(new Claim[]
                    {
                        new Claim("UserID", user.UserId.ToString()),
                        new Claim("roles", user.Role.Name)
                    }),
                    Expires            = DateTime.UtcNow.AddMinutes(30),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(AppSettings.JWT_Secret)), SecurityAlgorithms.HmacSha256Signature)
                };
                var tokenHandler  = new JwtSecurityTokenHandler();
                var securityToken = tokenHandler.CreateToken(tokenDescriptor);
                var token         = tokenHandler.WriteToken(securityToken);
                return(Ok(new { token }));
            }
            catch (Exception e)
            {
                return(BadRequest(new { message = e.Message.ToString() }));
            }
        }