コード例 #1
0
        public ResponseLoginInfo LoginWithoutRefeshToken(RequestLoginInfo requestLoginInfo)
        {
            var    resLogin = new ResponseLoginInfo();
            string token    = string.Empty;

            try
            {
                var loginUser = _user.Find(u => u.UserName == requestLoginInfo.UserName && u.UserPassword == requestLoginInfo.Password).FirstOrDefault();
                if (loginUser != null)
                {
                    token = GenerateJSONWebTokenWithoutExpired(requestLoginInfo);
                    if (!string.IsNullOrWhiteSpace(token))
                    {
                        resLogin.UserName     = loginUser.UserName;
                        resLogin.UserFullName = loginUser.UserLastName + " " + loginUser.UserMiddleName + " " + loginUser.UserFirstName;
                        resLogin.Role         = loginUser.RoleName;
                        resLogin.token        = token;
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, ex.Message);
            }
            return(resLogin);
        }
コード例 #2
0
 public ActionResult Login(RequestLoginInfo requestLoginInfo)
 {
     try
     {
         var resLogin = new ResponseLoginInfo();
         resLogin = _authServices.LoginWithoutRefeshToken(requestLoginInfo);
         if (resLogin != null && resLogin.UserName != null)
         {
             var prevUserLogin = new UserLogin();
             prevUserLogin = _userLoginServices.Get(requestLoginInfo.UserName);
             if (prevUserLogin == null || prevUserLogin.UserName == null)
             {
                 var newUserLogin = new UserLogin
                 {
                     LoginId            = "",
                     UserName           = requestLoginInfo.UserName,
                     uuid               = requestLoginInfo.uuid,
                     ostype             = requestLoginInfo.ostype,
                     token              = resLogin.token,
                     registration_token = resLogin.registration_token
                 };
                 var createdUser = _userLoginServices.Create(newUserLogin);
                 if (createdUser != null)
                 {
                     return(Ok(new ResponseContext
                     {
                         code = (int)Common.ResponseCode.SUCCESS,
                         message = Common.Message.LOGIN_SUCCESS,
                         data = resLogin
                     }));
                 }
                 else
                 {
                     return(StatusCode(StatusCodes.Status500InternalServerError, new ResponseMessage
                     {
                         status = "ERROR",
                         message = "Cannot update user login information"
                     }));
                 }
             }
             else
             {
                 var updateUserLogin = new UserLogin
                 {
                     LoginId            = prevUserLogin.LoginId,
                     UserName           = requestLoginInfo.UserName,
                     uuid               = requestLoginInfo.uuid,
                     ostype             = requestLoginInfo.ostype,
                     token              = resLogin.token,
                     registration_token = resLogin.registration_token
                 };
                 var updateCount = _userLoginServices.Update(prevUserLogin.LoginId, updateUserLogin);
                 if (updateCount >= 0)
                 {
                     return(Ok(new ResponseContext
                     {
                         code = (int)Common.ResponseCode.SUCCESS,
                         message = Common.Message.LOGIN_SUCCESS,
                         data = resLogin
                     }));
                 }
                 else
                 {
                     return(StatusCode(StatusCodes.Status500InternalServerError, new ResponseMessage
                     {
                         status = "ERROR",
                         message = "Cannot update user login information"
                     }));
                 }
             }
         }
         else
         {
             return(StatusCode(StatusCodes.Status401Unauthorized, new ResponseContext
             {
                 code = (int)Common.ResponseCode.ERROR,
                 message = Common.Message.INCORRECT_USERNAME_PASSWORD,
                 data = null
             }));
         }
     }
     catch (System.Exception ex)
     {
         _logger.LogError(ex, ex.Message);
         return(StatusCode(StatusCodes.Status500InternalServerError, new ResponseMessage {
             status = "ERROR", message = ex.Message
         }));
     }
 }