Токен на предъявителя Blazor становится несанкционированным, но работает на Почтальоне - PullRequest
0 голосов
/ 31 марта 2020

Я защитил свое приложение Blazor с помощью сервера идентификации. Пока все хорошо, я устанавливаю токен в моем http-клиенте как

services.AddHttpClient<SomeService>(async (serviceProvider, client) =>
        {
            var httpContextAccessor = serviceProvider.GetService<IHttpContextAccessor>();
            var accessToken = await httpContextAccessor.HttpContext.GetTokenAsync("access_token");

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
            client.BaseAddress = new Uri(baseAddress);
        });

В моем сервисе я получаю HttpClient через конструктор, который работает нормально, я вижу там свой заголовок. Но я получаю Unauthorized, хотя, если я получаю токен и пытаюсь с почтальоном, все работает!

Я знаю, что браузер работает по-другому, сначала делая предварительный запрос, в отличие от Postman, но я все еще не могу выяснить, почему я не авторизован?

Я включил все заголовки / происхождение в моем API, как

services.AddCors(o => o.AddPolicy("CorsPolicy", builder =>
        {
            builder.AllowAnyOrigin()
                   .AllowAnyMethod()
                   .AllowAnyHeader();
        }));

И

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