Пример #1
0
        public IActionResult UpdateUser(int medstaffId, UnilagMedLogin unilag)
        {
            EntityConnection con = new EntityConnection("tbl_userlogin");

            if (medstaffId != 0)
            {
                unilag.createDate = DateTime.Now;
                con.UpdateUser(medstaffId, unilag);
                obj = new { message = "password updated successfully" };
                return(Ok(obj));
            }
            else
            {
                obj = new { data = "Password update failed" };
                return(BadRequest(obj));
            }
        }
Пример #2
0
        public IActionResult Loginuser([FromBody] UnilagMedLogin model)
        {
            EntityConnection connection = new EntityConnection("tbl_medicalstaff");
            string           email      = model.email;
            string           pass       = model.password;
            DateTime         logindate  = DateTime.Now;



            if (connection.CheckUser(email, pass) == true && model != null)
            {
                var claim = new[]
                {
                    new Claim(ClaimTypes.NameIdentifier, model.roleId.ToString()),
                    new Claim(JwtRegisteredClaimNames.Sub, model.email),    //gotta add role as a sub for claim
                };
                var signingkey = new SymmetricSecurityKey(
                    Encoding.UTF8.GetBytes(_configuration["Jwt:SigningKey"]));

                int Expireminutes = Convert.ToInt32(_configuration["Jwt:ExpiryInMinutes"]);

                var token = new JwtSecurityToken(
                    issuer: _configuration["Jwt:Site"],
                    audience: _configuration["Jwt:Site"],
                    expires: DateTime.Today.AddDays(2),
                    signingCredentials: new SigningCredentials(signingkey, SecurityAlgorithms.HmacSha256));

                var tokenval = new JwtSecurityTokenHandler().WriteToken(token);

                //var output = JsonConvert.SerializeObject(res);
                //var result = JsonConvert.SerializeObject(tokenval);


                var role       = connection.DisplayRoles(email);
                var tempresult = new { logindate, tokenval };

                return(Ok(new { data = role, tempresult }));
            }

            obj = new { message = "Please check login details and try again!" };
            return(Unauthorized(obj));
        }
Пример #3
0
        public IActionResult RegUser([FromBody] UnilagMedLogin model)
        {
            //DbAccessLayer db = new DbAccessLayer();
            EntityConnection con = new EntityConnection("tbl_userlogin");
            var user             = new UnilagMedLogin
            {
                email      = model.email,
                password   = model.password,
                roleId     = model.roleId,
                medstaffId = model.medstaffId,
                createBy   = model.createBy,
                createDate = DateTime.Now
            };

            string password = model.password;

            byte[] salt = { 2, 3, 1, 2, 3, 6, 7, 4, 2, 3, 1, 7, 8, 9, 6 };
            // derive a 256-bit subkey (use HMACSHA1 with 10,000 iterations)
            string hashed = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                       password: password,
                                                       salt: salt,
                                                       prf: KeyDerivationPrf.HMACSHA512,
                                                       iterationCount: 1000,
                                                       numBytesRequested: 50
                                                       ));

            if (user != null)
            {
                user.password = hashed;
                con.AddUser(user);
                //string result = con.AddUser(user);
            }
            else
            {
                return(BadRequest("check user details and try again"));
            }
            var data = new { user.email, user.createBy, user.createDate };

            //var result = res;
            return(Created("", data));
        }