Error al portador = "invalid_token", error_description = "La firma no es válida"

Tengo una aplicación angular que solicita un token de azul. El inicio de sesión fue bien y recibí un token. Este token ahora se envía desde la aplicación angular a una aplicación webapi net core. Net core debería verificar este token pero falló. Creo que el webapi también debe comunicarse con azure para validar el token porque no tiene conocimiento de la clave pública y privada que se necesita para verificar el token.

Por el momento no está claro por qué está fallando. Tanto la aplicación angular como la webapi se ejecutan localmente en mi computadora.

El error es:Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException: 'IDX10500: Signature validation failed. No security keys were provided to validate the signature.'

mi configuración de net core 2 es:

var tokenValidationParameters = new TokenValidationParameters
            {

                RequireExpirationTime = true,
                RequireSignedTokens = false,
                ValidateIssuerSigningKey = true,
                ValidateIssuer = true,
                ValidIssuer = "8d708afe-2966-40b7-918c-a39551625958",
                ValidateAudience = true,
                ValidAudience = "https://sts.windows.net/a1d50521-9687-4e4d-a76d-ddd53ab0c668/",
                ValidateLifetime = false,
                ClockSkew = TimeSpan.Zero
            };
            services.AddAuthentication(options =>
            {
                options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;

            }).AddJwtBearer(options =>
            {

                options.Audience = "8d708afe-2966-40b7-918c-a39551625958";
                options.ClaimsIssuer = "https://sts.windows.net/a1d50521-9687-4e4d-a76d-ddd53ab0c668/";
                options.RequireHttpsMetadata=false;
                options.TokenValidationParameters = tokenValidationParameters;
                options.SaveToken = true;
            });

Respuestas a la pregunta(2)

Su respuesta a la pregunta