¿Por qué la validación de AntiForgeryToken sigue fallando?

Estoy desarrollando una webAPI aplicación que se ejecuta usandoasp.net core2 yAngular. La configuración detallada del entorno de desarrollo esaquí. Estoy tratando de configurarAntiForgeryToken validación pero sigue fallando. Seguí la configuración.aquí, pero tuve que modificarlo ya que mi aplicación angular y los servidores asp.net se ejecutan en dos puertos diferentes porque el inicio del front-end no genera el token. Arranco el backend llamando a unAPI camino (/api/Account/ContactInitialization) en el componente de la aplicaciónngOnInit lo que me permitió generar el token. La configuración se muestra a continuación,

IServiceCollection Servicio:

        services.AddAntiforgery(options =>
                {
                    options.HeaderName = "X-CSRF-TOKEN";
                    options.SuppressXFrameOptionsHeader = false;
                });

y enIApplicationBuilder Configure:

app.Use(next => context =>
                {
                    string path = context.Request.Path.Value;
                    if (

                        string.Equals(path, "/", StringComparison.OrdinalIgnoreCase) ||
                        string.Equals(path, "/api/Account/ContactInitialization", StringComparison.OrdinalIgnoreCase) ||
                        string.Equals(path, "/index.html", StringComparison.OrdinalIgnoreCase))
                    {
                        // We can send the request token as a JavaScript-readable cookie, 
                        // and Angular will use it by default.
                         var tokens = antiforgery.GetAndStoreTokens(context);
                        context.Response.Cookies.Append("XSRF-TOKEN", tokens.RequestToken,
                            new CookieOptions() { HttpOnly = false });
                    }

                    return next(context);
                });

asp.net. genera dos juegos de llaves,

Decoré mi método con[ValidateAntiForgeryToken] e incluíXSRF-TOKEN contenido de cookies en mi solicitud de encabezado. pero sigo recibiendo un400 (Bad Request) respuesta después de llamar alAPI! ¿que me estoy perdiendo aqui?

Método del controlador

    [Authorize]
    [ValidateAntiForgeryToken]
    [HttpPost]
    public IEnumerable<string> AutherizeCookie()
    {
        return new string[] { "Hello", "Auth Cookie" };
    }

mi solicitud de encabezado detallada se ve a continuación,

Respuestas a la pregunta(3)

Su respuesta a la pregunta