API, который использует токены JWT, не работает в Postman или RestClient, но работает в Chrome и приложении - PullRequest
0 голосов
/ 23 января 2019

Я использую ядро ​​.net с vue.js в качестве SPA

Внезапно у меня возникли проблемы с доступом к API с разных клиентов. Выполнение GET на готовом примере API http://localhost:63861/api/SampleData/WeatherForecasts

В Почтальоне я получаю 200OK с HTML и это сообщение

К сожалению, ClientApp не работает должным образом без JavaScript включен. Пожалуйста, включите его, чтобы продолжить.

С RestClient я получаю 404 html с этим сообщением

Не удается получить / аккаунт / логин

Если я получу доступ к URL-адресу в chrome, данные будут отображаться нормально, никаких проблем. Также в моем клиентском приложении API-вызовы работают нормально.

Кроме того, в какой-то момент это работало нормально и для клиентов

Где я мог бы ошибиться?

Может быть, моя установка VUE? Любые указатели, где проверить, будут полезны. Это фрагмент моего автозагрузки. Ccs

    app.UseSpa(spa =>
    {
        spa.Options.SourcePath = "ClientApp";

        if (env.IsDevelopment())
        {
            spa.UseVueCli(npmScript: "serve", port: 8080);
        }
    });

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Хорошо, реальный ответ на этот вопрос можно найти здесь:

.Net Core 2.0 Web API с использованием JWT - Добавление идентификатора нарушает аутентификацию JWT

Необходимо использовать AddIdentityCore, а не AddIdentity https://wildermuth.com/2018/04/10/Using-JwtBearer-Authentication-in-an-API-only-ASP-NET-Core-Project

После подключения, как это при запуске, все клиенты работают нормально, а аутентификация работает как положено

0 голосов
/ 23 января 2019

Атрибут [Authorize] на контроллере является причиной проблемы с клиентами, удаление этого заставляет это работать отлично.

что вызывает у меня еще одну проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...