Нет перенаправления при использовании IdentityServer3 и угловой - PullRequest
0 голосов
/ 06 июля 2018

В настоящее время я разрабатываю прототип системы авторизации с использованием ASP.NET Web API 2 и angular. Для авторизации и аутентификации я использую IdentityServer3.

Архитектура выглядит так:

  • Внешний интерфейс: угловой (6)
  • Клиент: ASP.NET Web API 2
  • Сервер авторизации: ASP.NET Web API 2
  • Сервер ресурсов: ASP.NET Web API 2

угловое приложение обслуживается клиентом, и только выполняет вызовы API для клиента. Я хочу использовать гибридный поток. Таким образом, клиент связывается с сервером ресурсов.

При вызове API путем ввода URL-адреса в адресную строку, например:

http://localhost:12059/api/v1/orders

все работает отлично. Браузер перенаправляет пользователя на IdentityServer, где он может аутентифицироваться и авторизоваться.

Но когда я выполняю тот же API-вызов клиента с использованием angular, пользователь не перенаправляется. он просто получает ошибку в консоли:

Unexpected token < in JSON at position 0 at JSON.parse (<anonymous>)

Угловой вызов API выглядит следующим образом:

getOrders(): Observable<any> {
    return this.http.get(`/api/v1/orders`);
}

И конечная точка в C # выглядит так:

[Authorize]
[Route("")]
public async Task<IHttpActionResult> Get()
{
    var user = User as ClaimsPrincipal;
    var token = user.FindFirst("access_token").Value;
    var result = await CallApi(token);

    return Ok(result);
}

Это не имеет особого смысла для меня, так как клиент делает запрос на авторизацию.

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