public async Task <IActionResult> Confirm(CheckToken data) { var jwtHandler = new JwtSecurityTokenHandler(); string email = jwtHandler.ReadJwtToken(data.Token).Subject; AppUser user = await userManager.FindByEmailAsync(email); if (user == null) { return(NotFound()); } var returnUser = mapper.Map <UserViewModel>(user); return(Ok(returnUser)); }
public object RemoveKeys(int id, int userId, int tokenId, string token) { var context = ConnectionService.GetContext(); var check = CheckToken.Check(tokenId, userId, token); if (check == false) { return(new { error = true, messageError = "Неправильный токен" }); } var rem = context.Keys.Where(r => r.Id == id && r.UserId == userId).FirstOrDefault(); if (rem != null) { context.Keys.Remove(rem); context.SaveChanges(); return(new { error = false, userId = userId }); } return(new { error = true, messageError = "Ошибка" }); }
public IActionResult RefreshToken([FromRoute] String refToken) { StudentLogin student = new StudentLogin(); CheckToken c = new CheckToken(); student = c.Check(refToken); if (student.refToken != null) { var claims = new[] { new Claim(ClaimTypes.NameIdentifier, "1"), new Claim(ClaimTypes.Name, "jan123"), new Claim(ClaimTypes.Role, "admin"), new Claim(ClaimTypes.Role, "student") }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["SecretKey"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken ( issuer: "Gakko", audience: "Students", claims: claims, expires: DateTime.Now.AddMinutes(10), signingCredentials: creds ); SaveToken s = new SaveToken(); String newRefToken = Guid.NewGuid().ToString(); s.Save(student.IndexNumber, newRefToken); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token), newRefToken } )); } return(StatusCode(401, "Wrong token")); }
public object AddKeys(int userId, string key, string token, int tokenId) { var context = ConnectionService.GetContext(); var check = CheckToken.Check(tokenId, userId, token); if (check == false) { return(new { error = true, messageError = "Неправильный токен" }); } var fKey = context.Keys.Where(fk => fk.UserId == userId && fk.Key == key).FirstOrDefault(); if (fKey == null) { KeyStorage keyStorage = new KeyStorage() { UserId = userId, Key = key }; context.Keys.Add(keyStorage); context.SaveChanges(); return(new { error = false, userId = userId, key = key }); } return(new { error = true, messageError = "Ошибка" }); }