public UserInfoResponseModel UserLogin(UserInfoRequestModel request) { var obj = db.UserInfo.ToList().Find(i => i.UserName == request.UserName); UserInfoResponseModel response = AutoMappingUtils.ConvertTo <UserInfoResponseModel>(obj); return(response); }
public static UserInfoResponseModel GetUserInfoResponseModel(UserInfoRequestModel request) { var response = new UserInfoResponseModel(); var userSettings = SettingService.GetSettings(request.Id); ChatLocoContext DbContext = new ChatLocoContext(); UserDTO user = DbContext.Users.FirstOrDefault(u => u.Id == request.Id); response.DefaultHandle = userSettings.DefaultHandle; response.Username = user.Username; response.Email = userSettings.Email; return(response); }
public UserInfoResponseModel UserRegister(UserInfoRequestModel request) { UserInfoResponseModel response = new UserInfoResponseModel(); UserInfoResponseModel userData = new UserInfoResponseModel() { UserName = request.UserName, UserNO = request.UserNO, PassWord = request.PassWord }; db.UserInfo.Add(userData); int result = db.SaveChanges(); if (result == 1) { response.UserNO = request.UserNO; } return(response); }
public async Task <UserInfoResponseModel> GetUserInfo(Guid userId) { var response = new UserInfoResponseModel(); using (var unitOfWork = await DataConnectionFactory.CreateUnitOfWork()) { var user = await unitOfWork.Users.GetById(userId); var userModel = new UserModel(user); response.DisplayName = userModel.GetDisplayName(NameFormat.FullNameNoTitle, true, false); response.ProfileImage = await userModel.GetProfileImageAsBase64(unitOfWork); response.Permissions = (await GetPermissionValuesByUser(userId)).ToArray(); } return(response); }
public string GenerateJwtToken(UserInfoResponseModel user) { // create claims var claims = new List <Claim> { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), new Claim(ClaimTypes.Email, user.Email), new Claim(ClaimTypes.Name, user.FullName), new Claim(ClaimTypes.MobilePhone, user.MobileNo) }; //TODO: add roles to claims here // create IdentityClaims var identityClaims = new ClaimsIdentity(claims); // create tokenBuilder and generate the token var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["TokenSettings:PrivateKey"])); var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature); var expires = DateTime.UtcNow.AddHours(_configuration.GetValue <double>("TokenSettings:ExpirationHours")); var tokenHandler = new JwtSecurityTokenHandler(); var tokenObject = new SecurityTokenDescriptor { Subject = identityClaims, Expires = expires, SigningCredentials = credentials, Issuer = _configuration["TokenSettings:Issuer"], Audience = _configuration["TokenSettings:Audience"], }; var encodedJwt = tokenHandler.CreateToken(tokenObject); return(tokenHandler.WriteToken(encodedJwt)); }
public async Task <ResponseModelBase <UserInfoResponseModel> > ValidateServerToken([FromBody] ValidateServerTokenRequestModel model) { if (!ModelState.IsValid) { return(ErrorModel.Of <UserInfoResponseModel>(null, "invalid_request")); } var token = ldb.DBContext.ServerTokens .Include(a => a.Owner) .ThenInclude(a => a.OwnedProducts) .Where(a => a.ServerToken == model.ServerToken).FirstOrDefault(); if (token == null) { return(ErrorModel.Of <UserInfoResponseModel>(null, "token_not_found")); } if (DateTime.Now > token.ExpiryDate) { //Remove it token.Owner.RemoveToken(token); await ldb.Save(); return(ErrorModel.Of <UserInfoResponseModel>(null, "token_expired")); } if (!token.Owner.IsEmailConfirmed) { return(ErrorModel.Of <UserInfoResponseModel>(null, "email_not_confirmed")); } var resp = new UserInfoResponseModel(token.Owner); //Remove it token.Owner.RemoveToken(token); ldb.DBContext.ServerTokens.Remove(token); await ldb.Save(); return(Models.OkModel.Of(resp)); }
public int UserInfoUpdate(UserInfoRequestModel request) { EntityFrameworkDbContext _db = new EntityFrameworkDbContext(); //修改需要对主键赋值,注意:这里需要对所有字段赋值,没有赋值的字段会用NULL更新到数据库 var user = new UserInfoResponseModel { UID = request.UID, UserNO = request.UserNO, UserName = request.UserName, UserEmail = request.UserEmail, PassWord = request.NewPassWord }; //将实体附加到对象管理器中 _db.UserInfo.Attach(user); //获取到状态实体,可以修改其状态 var setEntry = ((IObjectContextAdapter)_db).ObjectContext.ObjectStateManager.GetObjectStateEntry(user); //只修改实体属性 setEntry.SetModifiedProperty("PassWord"); return(_db.SaveChanges()); }