Почему asp. net core 3.x использует владельца ресурса? - PullRequest
0 голосов
/ 09 января 2020

Некоторые эксперты говорят, что resource owner - это плохая практика для аутентификации

Scoot Brady - например, IdentityServer Team

Почему Microsoft использует resource owner в качестве поток по умолчанию в asp.net core 3.0?

Ссылка: https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity-api-authorization?view=aspnetcore-3.1

Безопасно ли использовать resource owner?

Когда использовать?

Когда не использовать?

1 Ответ

0 голосов
/ 10 января 2020

НЕТ, новый шаблон Angular (индивидуальный шаблон аутентификации) не использует поток владельца ресурса, фактически он использует Поток кода аутентификации + PKCE (ключ PROOF для обмена кодами) ) , что уже является официальной рекомендацией для нативных приложений и SPA. Вы можете использовать Fiddler для отслеживания запросов аутентификации:

Запрос на вход в систему для авторизации конечной точки:

enter image description here

Проверка code_challenge и code_challenge_method, это поток кода с PKCE. Также см. Запрос токена:

enter image description here

уведомление о grant_type.

enter image description here

В потоке кода + PKCE:

  • Вместо client_secret (в обычном потоке кода) клиентское приложение создает случайное значение code_verifier, которое оно хэширует и кодирует как code_challenge.

  • Сервер авторизации сохраняет хешированное значение (Code Challenge) для последующей проверки и после аутентификации пользователя перенаправляет обратно в приложение с помощью код авторизации.

  • Приложение делает запрос на обмен кода на токены, только оно отправляет верификатор кода вместо фиксированного секрета.

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