Настольное приложение, вызывающее веб-API: регистрация приложения
применяется к: арендаторы рабочей силы
внешние клиенты (подробнее)
В этой статье рассматривается специфика регистрации для настольного приложения.
Поддерживаемые типы счетов
Типы учетных записей, поддерживаемые в настольном приложении, зависят от возможностей, которые вы хотите использовать. Из-за этой связи поддерживаемые типы учетных записей зависят от потоков, которые вы хотите использовать.
Аудитория для интерактивного получения токена
Если в классическом приложении используется интерактивная аутентификация, вы можете выполнять вход пользователей в систему под любым типом учетной записи.
Аудитория для потоков без взаимодействия с пользователем в настольном приложении
- Чтобы использовать встроенную проверку подлинности Windows или имя пользователя и пароль, ваше приложение должно выполнять вход пользователей в систему в вашем собственном домене, например, если вы являетесь линейным разработчиком бизнес-приложений. Кроме того, в организациях Microsoft Entra ваше приложение должно авторизовать пользователей в собственной учетной записи, если это сценарий независимого поставщика ПО. Эти потоки аутентификации не поддерживаются для личных учетных записей Майкрософт.
- При входе пользователей в систему с социальными идентификаторами, которые проходят проверку соответствия полномочиям и политике бизнес—потребитель (B2C), можно использовать только интерактивную аутентификацию или аутентификацию с помощью имени пользователя и пароля.
URI перенаправления
URI перенаправления, используемые в настольном приложении, зависят от потока, который вы хотите использовать.
Укажите URI перенаправления для приложения, настроив параметры платформы для приложения в Регистрация приложений в Центре администрирования Microsoft Entra.
Для приложений, которые используют Web Authentication Manager (WAM), URI перенаправления не нужно настраивать в MSAL, но они должны быть настроены в регистрации приложения.
Для приложений, использующих интерактивную аутентификацию:
- Приложения, использующие встроенные браузеры:
https://login.microsoftonline.com/common/oauth2/nativeclient
(Примечание. Если в приложении всплывает окно, которое обычно не содержит адресной строки, используется встроенный браузер.) - Приложения, использующие системные браузеры:
http://localhost
(Примечание. Если приложение принесет браузер по умолчанию вашей системы (например, Edge, Chrome, Firefox и т. д.), чтобы посетить портал входа Майкрософт, он использует "системный браузер".
Внимание
По соображениям безопасности рекомендуем явно задать
https://login.microsoftonline.com/common/oauth2/nativeclient
илиhttp://localhost
в качестве URI перенаправления. Некоторые библиотеки аутентификации, например MSAL.NET, используют значение по умолчаниюurn:ietf:wg:oauth:2.0:oob
, если не указан другой URI перенаправления (не рекомендуется). Это значение по умолчанию будет обновлено как серьёзное изменение в следующей крупной версии.- Приложения, использующие встроенные браузеры:
Если вы создаете собственное приложение Objective-C или Swift для macOS, зарегистрируйте URI перенаправления на основе идентификатора пакета приложения в следующем формате:
msauth.<your.app.bundle.id>://auth
. Замените<your.app.bundle.id>
идентификатором пакета своего приложения.Если вы создаете приложение Node.js Electron, используйте настраиваемый протокол строки вместо обычного веб-ресурса (https://) перенаправления URI для обработки шага перенаправления потока авторизации, например,
msal{Your_Application/Client_Id}://auth
(например, msal00001111-aaaa-2222-bbbb-3333cccc4444://auth). Не выбирайте очевидное имя строкового протокола, которое легко можно угадать, и следуйте рекомендациям спецификации OAuth2.0 для собственных приложений.Если приложение использует только Встроенную проверку подлинности Windows или имя пользователя и пароль, вам не нужно регистрировать URI перенаправления для своего приложения. Эти потоки выполняют круговой путь к конечной точке платформы удостоверений Майкрософт версии 2.0. Ваше приложение не будет вызываться по какому-либо конкретному URI.
Чтобы отличать поток кода устройства, интегрированную проверку подлинности Windows и имя пользователя и пароль от конфиденциального клиентского приложения, использующего поток учетных данных клиента в демон-приложениях, для которых не требуется URI перенаправления, настройте его как общедоступное клиентское приложение. Для достижения этой конфигурации они делают следующее.
В Центре администрирования Microsoft Entra выберите приложение в Регистрация приложений и выберите проверку подлинности.
Перейдите в раздел Дополнительные параметры>Разрешить потоки общедоступных клиентов>Включить следующие потоки для мобильных и настольных систем и выберите Да.
Разрешения API
Настольные приложения вызывают API для пользователя, выполнившего вход. Они должны запрашивать делегированные разрешения. Они не могут запрашивать разрешения приложения, которые обрабатываются только в управляющих программах.
Следующие шаги
Перейдите к следующей статье в этом сценарии: Конфигурация кода приложения.