Autorice un servicio de aplicación de otro (sin interacción del usuario) en ASP.NET Core 2.0

Tengo una aplicación API web en Azure con conexión a Internet (PubWeb), por lo que se usa desde cualquier lugar. Y creé una API web (nuevamente, en Azure, llamémosla InWeb). Y quiero reglas de seguridad fuertes:

InWeb solo debe ser utilizado por PubWeb. Esto podría implicar cierta seguridad de la red; esa es una parte fácil (en Azure).PubWeb debe estar autorizado por Azure AD de alguna manera para usar los servicios de InWeb. Principios de servicio, certificados, etc. viene a la mente. Pero no estoy seguro.

Entonces, ¿cuál es la mejor solución posible para 2?

ACTUALIZAR - Aquí está la configuración de autenticación InWeb Core 2.0:

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(sharedOptions =>
    {
        sharedOptions.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
    })
    .AddAzureAdBearer(options => Configuration.Bind("AzureAd", options));

    services.AddMvc(options => { options.InputFormatters.Add(new TextPlainInputFormatter()); });
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta