/// <summary> /// GENERA UN TOKEN Y AL TOKEN SE PASAN RECLAMACIONES NECESARIAS /// </summary> /// <param name="usuario"></param> /// <returns></returns> private async Task <AutenticacionDTO> GenerarTokenAutorizacion(UsuariosEntidad usuario) { var tokenManejador = new JwtSecurityTokenHandler(); var lstClaims = await ObtenerListaReclamacionesAsync(usuario); var key = Encoding.ASCII.GetBytes(_configuration["JWT:Secret"]); var tiempoVida = DateTime.UtcNow.Add(TimeSpan.Parse(_configuration["JWT:TokenTiempoVida"])); var tokenDescriptor = new SecurityTokenDescriptor { Audience = _configuration["JWT:Issuer"], Issuer = _configuration["JWT:Issuer"], Subject = new ClaimsIdentity(lstClaims), Expires = tiempoVida, SigningCredentials = new SigningCredentials ( new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature ) }; var token = tokenManejador.CreateToken(tokenDescriptor); var nuevoToken = new TokenEntidad() { JwtId = token.Id, UserId = usuario.Id, FechaCreacion = DateTime.UtcNow, Expiracion = DateTime.UtcNow.AddMonths(6) }; await _tokenRepositorio.CrearTokenAsync(nuevoToken); return(new AutenticacionDTO { Access_Token = tokenManejador.WriteToken(token), Refresh_Token = nuevoToken.Token, Expire = tiempoVida }); }
public async Task <bool> ActualizarTokenAsync(TokenEntidad token) { _context.Token.Update(token); return(await _context.SaveChangesAsync() > 0 ? true : false); }
public async Task <TokenEntidad> CrearTokenAsync(TokenEntidad token) { await _context.Token.AddAsync(token); return(await _context.SaveChangesAsync() > 0 ? token : null); }