Решение ошибки AADSTS700054 «Response Type Not Enabled» в приложениях Azure AD
By Mirko Peters ·
Вам когда-нибудь попадалась ошибка AADSTS700054 и вы думали: «Что я опять сделал не так?» Вы не одиноки. Эта ошибка печально известна тем, что появляется именно в тот момент, когда вы пытаетесь пройти аутентификацию приложения через Azure Active Directory, особенно с Microsoft 365, Dynamics 365 или собственными одностраничными приложениями. По сути, она означает, что ваше приложение не настроено н
Automatically translated with AI from the original post. Read the English original

Вам когда-нибудь попадалась ошибка AADSTS700054 и вы думали: «Что я опять сделал не так?» Вы не одиноки. Эта ошибка печально известна тем, что появляется именно в тот момент, когда вы пытаетесь пройти аутентификацию приложения через Azure Active Directory, особенно с Microsoft 365, Dynamics 365 или собственными одностраничными приложениями. По сути, она означает, что ваше приложение не настроено на получение того конкретного «типа ответа», который запрошен, например ID-токена или токена доступа от конечной точки авторизации.
В этом руководстве разбирается, почему это происходит, и показано, как исправить ошибку как для старых приложений на основе неявного предоставления (implicit grant), так и для современных решений с MSAL.js и PKCE. Вы также найдете рекомендации по безопасной настройке конфигураций, а также ссылки на сообщество и советы по навигации по блогу, чтобы быстро находить ответы. В итоге, работаете ли вы с устаревшими или современными приложениями, вы точно будете знать, как устранить эту распространенную проблему аутентификации и не допускать её появления.
Причины возникновения ошибки AADSTS700054
Ошибка AADSTS700054 — это не просто очередной загадочный код от Microsoft. По сути, это способ Azure сказать: «Ваше приложение запросило то, что ему не разрешено получить». Обычно речь идёт о типах ответа. Когда ваше приложение пытается запросить токен у Azure AD, но не настроено на такой «поток» (например, неявное предоставление), Azure блокирует запрос и выдаёт эту ошибку.
Почему это возникает? В большинстве случаев причина в том, что в регистрации вашего приложения не хватает нужных параметров для ID-токенов, токенов доступа или обоих сразу на конечной точке авторизации. Например, представьте одностраничное приложение (SPA), которое пытается получить токены по неявному потоку, хотя этот поток не включён в Azure AD. Azure видит несоответствие между тем, что запрашивается, и тем, что действительно разрешено, и — бах — вы получаете AADSTS700054.
Ошибки конфигурации случаются часто, когда организации переходят от устаревших подходов к аутентификации к современным практикам. Особенно под риском организации, которые поддерживают одновременно старые приложения (которые могут по-прежнему использовать неявное предоставление) и новые (которые должны использовать PKCE и поток с кодом авторизации). Обновляете облачную аутентификацию или подключаете новые службы Microsoft? Шанс наткнуться на эту проблему возрастает.
Понимание этой ошибки помогает связать то, что запрашивает ваш код, с тем, что настроено в вашем приложении Azure. Именно поэтому в остальной части руководства вы увидите, как согласовать запросы токенов вашего приложения с тем, чего ожидает Microsoft Identity Platform, — и это поможет опередить проблему при поиске и устранении неполадок.
Рекомендуемое решение для проблем с типом ответа неявного предоставления
Если ошибка AADSTS700054 блокирует интеграцию, самое быстрое решение обычно — настроить регистрацию приложения с нужными типами ответа. Чаще всего это означает включение параметров неявного предоставления, то есть разрешение приложению запрашивать токены напрямую с конечной точки авторизации.
Вот как это сделать в портале Azure: сначала откройте «App registrations» («Регистрации приложений»), найдите нужное приложение и откройте раздел «Authentication» («Проверка подлинности»). Найдите область «Implicit grant and hybrid flows» («Неявное предоставление и гибридные потоки»). Там вы увидите флажки «Access tokens» («Токены доступа») и «ID tokens» («ID-токены»). Отметьте подходящие для вашего сценария: обычно одностраничным приложениям нужен как минимум флажок «ID tokens», а старым приложениям могут понадобиться оба.
Но не отмечайте всё подряд в надежде на лучшее! Включайте только те параметры, которые действительно нужны вашему приложению, и помните о безопасности. Если ваше приложение запрашивает токены через конечную точку авторизации, как это делают большинство браузерных приложений, эти настройки обязательны. Для остальных, особенно для тех, кто переходит на более безопасные потоки (например, PKCE), неявное предоставление может вообще не понадобиться.
После внесения этих изменений большинство проблем с AADSTS700054 исчезают сразу. Если ошибка всё ещё появляется, перепроверьте область разрешений приложения, URI перенаправления и то, полностью ли применились изменения в вашем клиенте. Это основа для устранения этой ошибки — и для того, чтобы пользователи (и разработчики) снова могли работать.
Лучшие практики безопасности, позволяющие избежать неправильной настройки типов ответа
Настройка implicit grant может устранить ошибку, но это не всегда самый безопасный долгосрочный план. Включение implicit flow повышает риск безопасности, поскольку токены возвращаются прямо в ответах браузера и потенциально могут быть перехвачены. Поэтому Microsoft, да и любой администратор, думающий о безопасности, рекомендует для большинства сценариев использовать современные альтернативы, например Authorization Code Flow с PKCE, особенно для новых или обновляемых SPA.
Так когда же стоит включать implicit grant? Коротко: только если у вас есть устаревшие приложения или особые случаи, которые это требуют. Во всех остальных случаях настройте свои приложения на использование authorization code flow (с PKCE). Так токены не попадают в адресную строку браузера, а поверхность атаки значительно сокращается.
Организациям, которые используют одновременно Power Platform, Microsoft 365 и Dynamics 365, нельзя пренебрегать этими рекомендациями. Неправильно настроенные типы ответов не просто ломают вход в систему, они могут открыть дверь злоумышленникам или создать проблемы с соответствием требованиям в будущем. Этот обзор безопасности и управления в Power Platform показывает, почему так важны строгие средства контроля и понимание выбранных потоков, особенно когда citizen-разработчики добавляют собственные приложения и интеграции.
Итог: включайте только то, что действительно нужно, по возможности отдавайте предпочтение code flow с PKCE и закрепляйте регистрации приложений в рамках общей стратегии управления. Убедитесь, что все настройки соответствуют политикам безопасности, которые вы хотите внедрить. Ваше будущее «я» (и ваши аудиторы) скажут спасибо.
Устранение неполадок AADSTS700054 в современных приложениях с использованием MSAL.js
Казалось бы, переход на современные библиотеки аутентификации, такие как MSAL.js v2+ и PKCE, должен избавить вас от «старомодных» ошибок вроде AADSTS700054, не так ли? Не спешите. Даже современные одностраничные приложения (SPA) могут споткнуться, если их регистрация приложения или клиентская конфигурация не соответствуют актуальным рекомендациям.
Главный виновник? Устаревшие предположения. Разработчики могут взяться за MSAL.js, но оставить старые redirect URI или случайно запросить типы ответов (например, id_token), которые не включены в Azure AD. Особенно это актуально, если манифест приложения скопирован из другого проекта. Результат: Azure AD выдает эту неприятную ошибку при запуске процесса аутентификации в приложении.
Как отладить проблему? Откройте инструменты разработчика в браузере, перейдите на вкладку Network и посмотрите на запрос авторизации. Убедитесь, что ваш response_type соответствует потокам, которые действительно разрешены для приложения Azure. Если вы видите запросы токенов, которые не включены должным образом, вернитесь на портал Azure и скорректируйте регистрацию приложения.
Не забывайте: при использовании MSAL.js v2 и PKCE обычно вообще не нужно включать implicit flow. Но если приложение по-прежнему не работает, проверьте наличие жестко заданных «implicit»-настроек, опечаток в redirect URI или неверных типов грантов. Внимательная проверка конфигурации (как на стороне Azure, так и на стороне клиента) решает большинство проблем. Это не самое эффектное занятие, но грамотная отладка экономит часы догадок.
Миграция устаревших приложений с implicit grant на PKCE
Готовы навсегда оставить implicit flow в прошлом? Отличное решение. Миграция на PKCE (Proof Key for Code Exchange) сейчас считается золотым стандартом, и Microsoft настоятельно её рекомендует. Но, если честно, миграция работающего приложения с пользователями — это никогда не просто переключение настройки. Нужен план, который исключит простои, минимизирует сбои входа и держит всех в курсе.
Первый шаг — оценить и составить инвентарь всех текущих регистраций приложений, использующих implicit grant. Далее протестируйте новый поток на основе PKCE в тестовой среде. Это означает настройку приложения на использование authorization code flow, обновление redirect URI и корректировку конфигурационных файлов клиента (например, замену MSAL.js или ADAL.js). Пройдите полные циклы входа и выхода из системы, а также обновления токенов. Убедитесь, что всё работает для всех типов пользователей.
Прежде чем переключить production, продумайте план отката. Возможно, придется временно оставить включенными оба потока, если миграция пойдет не гладко. Заранее сообщайте пользователям об изменениях: им не нравятся сюрпризы, особенно если работа останавливается из-за неанонсированного изменения способа входа в систему.
И наконец, следите за такими проблемами, как сбои обновления токенов или прерванные активные сеансы после миграции. По возможности планируйте обновления на периоды низкой нагрузки. Нужны подробности о том, как внедрить эти переходы в повседневную работу? Хотя некоторые ресурсы перенаправляют, вы всегда можете просмотреть последние подкасты о Microsoft 365 Copilot и архитектуре, где найдутся косвенные подсказки по управлению изменениями в компании (см. недавние обсуждения здесь).
Поиск надёжных блогов, например блога Нишанта Раны, для проверенных решений
- Блог Нишанта Раны: Незаменимый ресурс для решения проблем интеграции с Azure AD. Нишант разбирает сложные сценарии, пошаговые исправления и даже нестандартные случаи для Dynamics 365 и Power Platform. Его понятные пошаговые инструкции делают сложные ошибки аутентификации гораздо менее пугающими.
- Блог MVP KingswaySoft: Известен практическими советами по интеграции данных CRM. Этот блог, который ведут MVP, регулярно рассматривает нестандартные случаи аутентификации, что важно для всех, кто работает с экосистемой Azure AD и Microsoft 365.
- Топ-100 блогов о CRM: Подборки вроде этой помогают найти более широкое техническое сообщество и авторов, которые регулярно пишут о идентификации, безопасности и устранении неполадок в Microsoft. Расширение списка чтения повышает шансы найти решение, подходящее для вашего нестандартного случая.
Быстрый поиск и архивы для поиска свежих публикаций о проблемах Azure AD
- Используйте быстрый поиск: У большинства авторитетных технических блогов есть строка поиска, так что пользуйтесь ею! Введите «AADSTS700054», «Azure AD error» или «implicit grant», чтобы сразу найти публикации и руководства, напрямую относящиеся к вашей проблеме. Это гораздо быстрее, чем просматривать сайт вручную.
- Просматривайте архивы и последние обновления: Если поиск не находит вашу проблему, перейдите в архивы сайта или в отфильтрованные списки «последних публикаций». Многие проверенные временем руководства по устранению неполадок скрыты в старых материалах, а свежая публикация иногда содержит именно то решение, которое нужно для новых изменений аутентификации в платформе Microsoft.
- Комбинируйте фильтры для опытных пользователей: Хотите сделать поиск точнее? Используйте систему тегов или категорий вместе с поиском. Фильтрация всех публикаций о «Azure AD» или сужение по «app registration» сократит время на устранение неполадок и поможет найти проблемы и решения, которые вы могли бы пропустить.