Autorizar um serviço de aplicativo de outro (sem interação do usuário) no ASP.NET Core 2.0
Eu tenho um aplicativo de API da Web no Azure voltado para a Internet (PubWeb), portanto ele é usado de qualquer lugar. E eu criei uma API da Web (novamente, no Azure, vamos chamá-la de InWeb). E eu quero regras de segurança fortes:
O InWeb deve ser usado apenas pelo PubWeb. Isso pode envolver alguma segurança de rede - é uma parte fácil (no Azure).O PubWeb deve ser autorizado pelo Azure AD de alguma forma para usar os serviços InWeb. Diretores de serviços, certificados, etc, vêm à mente. Mas eu não tenho certeza.Então, qual é a melhor solução possível para 2?
ATUALIZAR - aqui está a configuração de autenticação do 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()); });
}