private static void SetDBManaUserToken(string token, string mobile, string storeId, string storeName, int xcGameUserId) { IUserTokenService userTokenService = BLLContainer.Resolve <IUserTokenService>(); var model = userTokenService.GetModels(p => p.StoreId.Equals(storeId) & p.Mobile.Equals(mobile)).FirstOrDefault <t_usertoken>(); if (model == null) { t_usertoken userToken = new t_usertoken(); userToken.Token = token; userToken.Mobile = mobile; userToken.StoreId = storeId; userToken.StoreName = storeName; userToken.CreateTime = DateTime.Now; userToken.XCGameUserId = xcGameUserId; userTokenService.Add(userToken); } else { model.Token = token; model.Mobile = mobile; model.StoreId = storeId; model.StoreName = storeName; model.UpdateTime = DateTime.Now; model.XCGameUserId = xcGameUserId; userTokenService.Update(model); } }
public ApiResponseModel <LoginResponseModel> Login([FromBody] LoginRequestModel requestModel) { ApiResponseModel <LoginResponseModel> responseModel = new ApiResponseModel <LoginResponseModel>(); var user = _userService.GetByUsernameAndPassword(requestModel.Username, requestModel.Password); if (user == null) { responseModel.ResultStatusCode = ResultStatusCodeStatic.Error; responseModel.ResultStatusMessage = "User Not Be Found"; return(responseModel); } // portal api'de token üretilecek, token tablosuna kaydedilecek ve api'de dönülen kullanıcı bilgileri ve token bilgisi geri dönülecek UserToken userToken = new UserToken(); userToken.IsValid = true; userToken.ProfileId = user.ProfileId; userToken.Token = Guid.NewGuid().ToString(); userToken.Username = user.UserName; userToken.ValidBeginDate = DateTime.Now; userToken.ValidEndDate = userToken.ValidBeginDate.AddHours(6); //6 saat gecerlilik verdik default olarak int resultAddToken = _userTokenService.Add(userToken); if (resultAddToken <= 0) { responseModel.ResultStatusCode = ResultStatusCodeStatic.Error; responseModel.ResultStatusMessage = "User Token Could Not Be Saved"; return(responseModel); } LoginResponseModel loginResponse = new LoginResponseModel() { Id = user.Id, UserName = user.UserName, // Password = user.Password,//apiden password dönülmemeli Name = user.Name, Surname = user.Surname, Mail = user.Mail, ProfileId = user.ProfileId, IsDeleted = user.IsDeleted, UserToken = userToken.Token, }; responseModel.ResultStatusCode = ResultStatusCodeStatic.Success; responseModel.ResultStatusMessage = "Success"; responseModel.Data = loginResponse; return(responseModel); }
public async Task <ActionResult> Register(UserAddRequest model) { ObjectResult result = null; try { int id = _userService.Create(model); Guid guid = Guid.NewGuid(); _userTokenService.Add(id, guid); EmailAddRequest emailBase = new EmailAddRequest(); emailBase.From = model.Email; string email = emailBase.From; string directory = Environment.CurrentDirectory; string path = Path.Combine(directory, "EmailTemplates\\ConfirmEmail.html"); string htmlContent = System.IO.File.ReadAllText(path); await _service.ConfirmEmail(email, htmlContent, _sendGridConfig.Secret, _sendGridConfig.Email, guid); ItemResponse <int> response = new ItemResponse <int>() { Item = id }; result = Created201(response); } catch (Exception ex) { base.Logger.LogError(ex.ToString()); ErrorResponse response = new ErrorResponse(ex.Message); result = StatusCode(500, response); } return(result); }
public UserToken Login(AccountLoginRequst loginInfo, HttpContext httpContext, IConfiguration config) { if (loginInfo.MobileNumber == null || loginInfo.SmsKey == null) { throw new CustomException("اطلاعات وارد شده معتبر نیست", ErrorsPreFix.AUTH_HELPER + ERROR_LOGIN + "00"); } var uniqueKey = _userService.GetUserUniqueKey(loginInfo.MobileNumber, httpContext.Request.Headers["User-Agent"]); _onlineUserService.Logout(uniqueKey); var user = _userService.GetAllIncluding(u => u.Role).FirstOrDefault(u => u.MobileNumber == loginInfo.MobileNumber); if (user == null || user.Id == 0) { var newUser = new User() { CreatedByUserId = 1, MobileNumber = loginInfo.MobileNumber, Status = (int)UserStatus.Active, Role = _roleService.Find(r => r.Name.ToLower() == "tester").Data, RefreshToken = new Guid().ToString() }; _userService.Add(newUser, 1); user = newUser; } var sms = _smsService.FindBy(s => s.Reciver == user.MobileNumber) .Data.OrderByDescending(s => s.SendDate) .FirstOrDefault(); if (sms == null) { throw new CustomException("کدی برای کاربر ارسال نشده", ErrorsPreFix.AUTH_HELPER + ERROR_LOGIN + "02"); } if (sms.Status != (int)SmsStatus.Success) { throw new CustomException("کد قبلا استفاده شده", ErrorsPreFix.AUTH_HELPER + ERROR_LOGIN + "03"); } if (loginInfo.SmsKey != sms.Key) { throw new CustomException("کد دریافت شده معتبر نمی باشد", ErrorsPreFix.AUTH_HELPER + ERROR_LOGIN + "04"); } sms.Status = (int)SmsStatus.Used; _smsService.Update(sms, user.Id); var userToken = GenerateJsonWebToken(uniqueKey, config, user, loginInfo.RememberMe); userToken.Status = (int)UserTokenStatus.Created; userToken.User = user; _userTokenService.Add(userToken, user.Id); // _onlineUserService.AddUser(uniqueKey, userToken); return(userToken); }