Проверка подлинности по имени пользователя и паролю

Предупреждение

Поток учетных данных владельца ресурса (ROPC) объявлен устаревшим для публичных клиентских приложений из-за рисков безопасности. Корпорация Майкрософт рекомендует использовать более безопасный поток проверки подлинности. Следуйте официальным инструкциям по миграции из ROPC.

Содержимое ниже применимо ко всем библиотекам MSAL, а не только к MSAL Python.

Microsoft рекомендует не использовать поток имени пользователя и пароля. В большинстве случаев доступны и рекомендуются более безопасные альтернативы. Этот поток требует очень высокой степени доверия к приложению и несет риски, которые не присутствуют в других потоках. Этот поток следует использовать только при невозможности использовать другие, более безопасные потоки. Дополнительные сведения о том, почему следует избегать использования этого разрешения, см. в статье почему Microsoft стремится отказаться от паролей.

Constraints

  • При разработке и политике проверка подлинности имени пользователя и пароля работает только для рабочих и учебных учетных записей, но не для учетных записей Microsoft (MSA). Ознакомьтесь с определением этих 2 типов учетных записей.
  • Проверка подлинности имени пользователя и пароля несовместима с условным доступом и многофакторной проверкой подлинности, так как это не интерактивный поток, платформа удостоверений Майкрософт не имеет возможности представить веб-диалоговое окно для взаимодействия пользователя. В результате, если приложение работает в клиенте Microsoft Entra, где администратор клиента требует многофакторной проверки подлинности (многие организации делают это), этот поток не будет работать.
  • Так как проверка подлинности паролей имени пользователя — это неинтерактивный поток:
    • Пользователь приложения должен ранее предоставить согласие на использование приложения.
    • или администратор клиента должен ранее предоставить всем пользователям в клиенте согласие на использование приложения.
    • Это означает, что:

Рекомендации

Даже если вы решили использовать проверку подлинности паролей пользователя, не следует сохранять пароль конечного пользователя. После успешной первоначальной аутентификации по имени пользователя и паролю вступал в действие кэш токенов MSAL и автоматически сохранял в нём токен обновления (RT). Теперь приложению достаточно вызвать метод acquire_token_silent() библиотеки MSAL, чтобы получить новый токен доступа без имени пользователя и пароля.

Setup

платформа удостоверений Майкрософт поддерживает поток паролей имени пользователя в общедоступном клиентском приложении и конфиденциальном клиентском приложении. Если вам потребуется настроить приложение в качестве общедоступного клиентского приложения, включите переключатель на снимок экрана ниже, чтобы разрешить его.

Настройка общедоступного приложения