public async Task <string> CreateToken(Model.AppUser user) { var claims = new List <SecurityClaim.Claim> { new SecurityClaim.Claim(JwtRegisteredClaimNames.NameId, user.Id.ToString()), new SecurityClaim.Claim(JwtRegisteredClaimNames.UniqueName, user.UserName), }; var roles = await _userManager.GetRolesAsync(user); claims.AddRange(roles.Select(role => new SecurityClaim.Claim(ClaimTypes.Role, role))); var creds = new SigningCredentials(_key, SecurityAlgorithms.HmacSha512Signature); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(claims), Expires = DateTime.Now.AddDays(7), SigningCredentials = creds }; var tokenHandler = new JwtSecurityTokenHandler(); var token = tokenHandler.CreateToken(tokenDescriptor); return(tokenHandler.WriteToken(token)); }
private async Task <int> AddCarAndUser(InputModel input) { // add user var appUser = new Model.AppUser() { FirstName = input.Name, Patronimyc = input.Patronimic, Password = input.Password, PhoneNumber = input.PhoneNumber }; _context.AppUsers.Add(appUser); _context.SaveChanges(); // add car var car = new Model.Car() { ImageName = "", ImagePath = "", CarMark = input.CarMark, Number = input.CarNumber, UserId = appUser.Id }; _context.Cars.Add(car); _context.SaveChanges(); await SaveFile(input.CarPhoto, car); return(appUser.Id); }
public async Task <IActionResult> CheckOrCreate([FromForm] string phone) { var user = _userContext.User.SingleOrDefault(u => u.phone == phone); if (user == null) { user = new Model.AppUser { phone = phone }; _userContext.User.Add(user); await _userContext.SaveChangesAsync(); } return(Ok(user.Id)); }
private void RaiseUserprofileChangedEvent(Model.AppUser user) { if (_userContext.Entry(user).Property(nameof(user.Name)).IsModified || _userContext.Entry(user).Property(nameof(user.Avatar)).IsModified || _userContext.Entry(user).Property(nameof(user.Company)).IsModified || _userContext.Entry(user).Property(nameof(user.Title)).IsModified) { _publisher.Publish("finbook_userapi_userprofilechanged", new UserProfileChangedEvent { Name = user.Name, Avatar = user.Avatar, Company = user.Company, Title = user.Title, UserId = user.Id, }); } }
public async Task <IActionResult> CheckOrCreate(string phone) { var user = await _userContext.Users.SingleOrDefaultAsync(u => u.Phone == phone); //if (!await _userContext.Users.AsNoTracking().Include(u => u.Properties).AnyAsync(u => u.Phone == phone)) if (user == null) { user = new Model.AppUser() { Phone = phone }; _userContext.Users.Add(user); await _userContext.SaveChangesAsync(); } return(Ok(user.Id)); }
public async Task <IActionResult> CheckOrCreate([FromForm] string phone) { var user = await _userContext.Users.SingleOrDefaultAsync(u => u.Phone == phone); //if (!await _userContext.Users.AsNoTracking().Include(u => u.Properties).AnyAsync(u => u.Phone == phone)) if (user == null) { user = new Model.AppUser() { Phone = phone }; _userContext.Users.Add(user); await _userContext.SaveChangesAsync(); } return(Ok(new { userID = user.Id, user.Name, user.Company, user.Title, user.Avatar })); }