Защитите API с помощью IdentityServer - PullRequest
0 голосов
/ 17 сентября 2018

Я начал использовать IdentityServer4, используя пример ASP.NET Identity and Entity Framework.

Существует приложение MVC, которое использует IdentityServer для получения токена доступа, используя типы разрешений «учетные данные клиента и гибридные», и использует этот токен доступа для вызова API.

Решение выглядит так:

  • Проект Identity Server
  • Проект MVC
  • API Project

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

Моя первоначальная идея заключалась в том, чтобы добавить новую область API для этого частного API и передать эту область только приложению MVC. Проблема в том, что я понимаю, что токен доступа свободно доступен для пользователя из приложения MVC, и поэтому он может получить доступ к токену и, следовательно, вызвать частный API со своими собственными параметрами.

Каким было бы предлагаемое решение для защиты API, чтобы злоумышленник мог получить токен доступа и предоставить доступ к API?

Нужно ли мне создавать нового клиента на основе «учетных данных клиента», который используется приложением MVC? Было бы немного странно, если бы проект MVC использовал два разных клиента для одного и того же API?

Для получения информации, AddAuthentication в приложении MVC выглядит следующим образом:

services.AddAuthentication(options =>
            {
                options.DefaultScheme = "Cookies";
                options.DefaultChallengeScheme = "oidc";
            })

Я полагаю, что должно быть похоже, если не то же самое, что и образцы IdentityServer.

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