SuppressDefaultHostAuthentication в WebApi.Owin также подавляет аутентификацию вне webapi

У меня возникла проблема с решением, в котором я использовал детали из шаблона SPA в Visual Studio, чтобы иметь Контроллер учетной записи в WebApi с Oauth Authentication.

  app.UseOAuthBearerTokens(OAuthOptions);

Затем я в регистрации owin webapi делает

config.SuppressDefaultHostAuthentication(); 

но это также отменяет аутентификацию cookie по умолчанию вне среды webapi. Это намерение. Если да, то как я могу настроить WebApi, чтобы подавить аутентификацию cookie, но все еще активен в отношении среды для других запросов?

Ответы

Ответ 1

Кажется, что это хорошая практика, особенно когда вы смешиваете приложение, размещенное в OWIN, и обычное в одном и том же каталоге IIS, чтобы настроить WebApi с помощью приложения.

    public void Configuration(IAppBuilder app)
    {
        var configuration = WebApiConfiguration.HttpConfiguration;
        app.Map("/api", inner =>
        {
            inner.UseWebApi(configuration);
        });
    }

У меня были все мои контроллеры, настроенные с префиксом api, и я просто переместил его на функцию карты. Теперь webapi работает изолированно и работает с остальной частью моего приложения. Спасибо @PinpointTownes за то, что указали мне в этом направлении.