. NET Базовая аутентификация и авторизация через WebApi через Azure - PullRequest
0 голосов
/ 23 апреля 2020

Я ищу лучший способ аутентификации моего. NET Core API с Azure. API должен быть доступен только людям или другим приложениям, имеющим действительный ключ.

Мне нужно следующее:

  • Добавить новый токен внутри Azure, чтобы клиент / приложение могли получить доступ к API
  • Установите даты активации и истечения срока действия для токена (или включены и отключены)
  • In. NET Ядро использует атрибут [ Authorize ] для авторизации пользователь для доступа к конечной точке

Каково было бы лучшее решение сделать это с Azure?

Я думал о Azure хранилищах ключей , но я не знаю, как я могу использовать атрибут [Authorize] с Azure хранилищем ключей?

ИЛИ

Есть ли другие решения?

Спасибо!

1 Ответ

1 голос
/ 24 апреля 2020

Я думал о Azure хранилищах ключей, но я не знаю, как я могу использовать атрибут [Authorize] с Azure хранилищем ключей?

Вы не можете использовать Azure хранилище ключей для аутентификации вашего основного webapi. Потому что Azure Key Vault является инструментом для безопасного хранения и доступа к секретам . Секрет - это все, к чему вы хотите строго контролировать доступ, например, ключи API, пароли или сертификаты.

Существуют ли другие решения?

В ASP. NET В качестве ядра вы можете использовать платформу удостоверений Microsoft и Azure Active Directory для аутентификации и авторизации вашего webapi.

Вы можете обратиться к этому учебнику , в котором веб-приложение ASP. NET использует промежуточное программное обеспечение OpenID Connect и библиотеку аутентификации Active Directory (ADAL. NET) для получения Маркер-носитель JWT для вошедшего в систему пользователя с использованием протокола OAuth 2.0. Токен-носитель передается в веб-API, который проверяет токен и авторизует пользователя с помощью промежуточного программного обеспечения для аутентификации канала-носителя JWT.

...