public async Task <ActionResult <ColUserDto> > RegisterCollege(RegisterCollegeDto registerCollegeDto) { if (await ColUserExists(registerCollegeDto.ColUserName)) { return(BadRequest("Username is taken")); } using var hmac = new HMACSHA512(); var colUser = new ColUser { ColUserName = registerCollegeDto.ColUserName.ToLower(), PasswordHash = hmac.ComputeHash(Encoding.UTF8.GetBytes(registerCollegeDto.Password)), PasswordSalt = hmac.Key, ColUserType = registerCollegeDto.ColUserType }; _context.ColUsers.Add(colUser); await _context.SaveChangesAsync(); return(new ColUserDto { ColUserName = colUser.ColUserName, Token = _tokenService.CreateColToken(colUser), ColUserType = "College" }); }
public string CreateColToken(ColUser colUser) { var claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.NameId, colUser.ColUserName) }; 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)); }
public void Update(ColUser coluser) { _context.Entry(coluser).State = EntityState.Modified; }