/// <summary> /// OBTIENE LISTA DE RECLAMACIONES PARA AGREGARLO AL TOKEN DE AUTORIZACION /// </summary> /// <param name="usuario"></param> /// <returns></returns> private async Task <List <Claim> > ObtenerListaReclamacionesAsync(UsuariosEntidad usuario) { List <Claim> lstClaimsToken = new List <Claim>(); var lstRoles = await _usuariosRepositorio.ObtenerUsuariosRolesAsync(usuario); lstClaimsToken.Add(new Claim("Id", usuario.Id.ToString())); lstClaimsToken.Add(new Claim("User", usuario.UserName)); lstClaimsToken.Add(new Claim(ClaimTypes.Email, usuario.Email)); lstClaimsToken.Add(new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())); foreach (var usuarioRole in lstRoles) { //ASIGANACION LISTA DE ROLES lstClaimsToken.Add(new Claim(ClaimTypes.Role, usuarioRole)); var role = await _rolesRepositorio.ObtenerRoleNombreAsync(usuarioRole); if (role == null) { continue; } var roleClaims = await _rolesRepositorio.ObtenerRoleClaimAsync(role); foreach (var roleClaim in roleClaims) { if (lstClaimsToken.Contains(roleClaim)) { continue; } lstClaimsToken.Add(roleClaim); } } return(lstClaimsToken); }