コード例 #1
0
 public IActionResult Login(Login login)
 {
     try
     {
         var user = _userContext.userByName(login.User);
         if (user != null)
         {
             if (user.Password.Replace(" ", "") == _userContext.Encrypt(login.Password))
             {
                 if (!user.IsConfirmed)
                 {
                     return(Ok(new LoginResponse {
                         Message = "Your account needed to be actived, please check your email", Status = false
                     }));
                 }
                 else
                 {
                     var token = _JWTService.Generate(user.Id);
                     Response.Cookies.Append(key: "token", value: token, options: new CookieOptions
                     {
                         HttpOnly = true
                     });
                     return(Ok(value:
                               new LoginResponse {
                         Message = "Success", Status = true,
                         User = new UserResponse {
                             Token = token, Email = user.Email, User = user.UserName
                         }
                     }));
                 }
             }
             else
             {
                 return(Ok(new LoginResponse {
                     Message = "Password incorrect", Status = false
                 }));
             }
         }
         else
         {
             return(Ok(new Response {
                 Message = "User is not exist", Status = false
             }));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
コード例 #2
0
        public async Task <ActionResult> LogInAsync([FromBody] UserModel user)
        {
            try
            {
                UserModel userResult = await database.GetUser(user.username);

                if (userResult == null || !BCrypt.Net.BCrypt.Verify(user.password, userResult.password))
                {
                    throw new Exception();
                }
                Response.Cookies.Append("jwt", jWTService.Generate(userResult.username), new Microsoft.AspNetCore.Http.CookieOptions {
                    HttpOnly = true
                });

                return(Ok(userResult.username));
            }
            catch
            {
                return(BadRequest("Invalid"));
            }
        }