Привет,
Я использую Azure/static-web-apps-deploy@v1 для развертывания статического веб-сайта в Azure. Сайт настроен так, чтобы быть доступным только для учетных записей нашей организации с личным доменом. Пока все работает нормально.
Я хочу использовать среды предварительного просмотра для запросов на включение в GitHub.
В каждом запросе на включение создается новая среда предварительного просмотра, и URL-адрес этой среды генерируется динамически.
Они всегда выглядят примерно так: https://random-name-{PRID}.westeurope.4.azurestaticapps.net
Правильный переход по этому URL-адресу возвращает ошибку:
AADSTS50011: The redirect URI 'https://my-random-page-3.westeurope.4.azurestaticapps.net/.auth/login/aad/callback' specified in the request does not match the redirect URIs configured for the application 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'. Make sure the redirect URI sent in the request matches one added to your application in the Azure portal. Navigate to https://aka.ms/redirectUriMismatchError to learn more about how to fix this.
Добавление созданного URL-адреса вручную для перенаправления URL-адресов в приложении Azure работает нормально.
Как я могу автоматизировать эту настройку, чтобы каждая созданная среда предварительного просмотра была защищена и доступна любому в нашей организации? После завершения запроса на включение URL-адрес также должен быть удален из конфигурации.
Спасибо за помощь!
Используйте эту команду az ad app update --id AppID --add replyUrls "https://*.westeurope.4.azurestaticapps.net/.auth/login/aad/callback"
Спасибо за ваши ответы. replyUrls
не сработало, но я попробовал с помощью az ad app update --id AppID --web-redirect-uris "https://uri1.westeurope.4.azurestaticapps.net/.auth/login/aad/callback"
, получилось нормально. К сожалению, это не работает с использованием подстановочных знаков, как вы предложили. Invalid value specified for property 'web' of resource 'Application'.
Проверьте ответ ниже
Поскольку ваш URL-адрес перенаправления — https://my-random-page-3.westeurope.4.azurestaticapps.net/.auth/login/aad/callback
, а идентификатор запроса на включение является динамическим, вы можете использовать подстановочный знак *
, чтобы установить URL-адрес перенаправления.
*
, чтобы URL-адрес перенаправления принимал динамические запросы на включение.https://*.westeurope.4.azurestaticapps.net/.auth/login/aad/callback
.Чтобы установить URL-адрес динамического перенаправления в Azure AD, используйте следующую команду CLI:
az login
az ad app update --id ApplicationID --add replyUrls "https://*.westeurope.4.azurestaticapps.net/.auth/login/aad/callback" --only-show-errors
URL-адрес перенаправления успешно обновлен на портале Azure:
Спасибо за ваш ответ. Я использовал немного другую команду, но это сработало. az ad app update --id AppId --web-redirect-uris "https://*.westeurope.4.azurestaticapps.net/.auth/login/aad/callback"
Это решение работает. Но разве это не потенциальная проблема безопасности? Я также попытался включить случайно сгенерированное имя и заменить идентификатор PR только подстановочным знаком, но это недопустимое значение для URL-адреса перенаправления. https://random-name-*.westeurope.4.azurestaticapps.net/.auth/login/aad/callback
Проверьте это Learn.microsoft.com/en-us/entra/identity-platform/…
URL-адрес перенаправления в этой форме https://random-name-*.westeurope.4.azurestaticapps.net/.auth/login/aad/callback
недействителен.
Я дал обходной путь для работы с URL-адресами динамического перенаправления, и да, это вызывает проблемы с безопасностью, и это единственный способ работать с URL-адресами динамического перенаправления AFAIK.
Отлично, что я смог помочь :)
Вы можете обновить URL-адрес перенаправления как
https://*.westeurope.4.azurestaticapps.net
, используя az cli.