У меня есть работающая служба WebApi ядра Asp.NET, которую можно вызвать из основного приложения MVC ASP.NET. Служба вызывается с помощью созданной AutoRest оболочки. В настоящее время служба не имеет уровня безопасности, а веб-сайт защищен с помощью OAuth2.
Я добавил в сервис следующее:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddApplicationInsightsTelemetry(Configuration);
services.AddMvc();
// NEW Authorisation
services.AddAuthorization(options =>
{
options.AddPolicy("ApiAccess", policy => policy.RequireClaim("email"));
});
}
Мой контроллер защищен так:
[Authorize(Policy = "ApiAccess")]
public class StatusController : Controller
Однако я получаю исключение «Неавторизованное», когда я вызываю оболочку AutoRest:
try
{
var service = new StatusAPI(new Uri("http://localhost:17237/"));
ViewData["State"] = service.ApiStatusGet();
}
catch (Exception ex)
{
ViewData["State"] = new[] { new ServiceStatus { Name = "Health API", Message = "Is unreachable " + ex.Message } };
}
Я не уверен, что проблема заключается в том, что мне нужен способ передать претензии в моем вызове оболочке или в моей настройке службы и в том, как она обнаруживает претензии.
StatusAPI? - person Cloud SME   schedule 02.09.2016