Несколько доменов для одного приложения Azure B2C

У нас есть приложение, которое мы хотим разместить только один раз, но позволяем двум различным доменам направлять на один экземпляр, после чего мы меняем брендинг в зависимости от входящего хоста. Например, https://app.abc.com указывает на тот же экземпляр, что и https://app.def.com.

Таким образом, это не субдомены, а скорее независимые домены. Это будет означать, что они также используют одно и то же зарегистрированное в Azure приложение, но разные URL-адреса возврата https://app.abc.com/auth/openid/return и https://app.def.com/auth/openid/return.

Однако портал Azure выдает ошибку

«Вы не можете использовать более 1 внешнего домена»

.

Есть ли способ обойти это без необходимости размещать 2 экземпляра одного и того же приложения, каждый с собственным идентификатором приложения / клиента Azure?


person chookie    schedule 03.04.2018    source источник
comment
comment
похоже, сейчас это работает, хотя в информационном окне все еще отображается URI перенаправления, которые должны принадлежать одному домену   -  person Markus Dresch    schedule 14.08.2019


Ответы (3)


Как упомянул Уэйн, в настоящее время невозможно ответить на несколько доменов.

Однако один способ обхода - создать прокси-сервер на одном из веб-сайтов. Вы всегда перенаправляете на этот прокси, который затем перенаправляет на нужный сайт. Вы можете использовать параметр состояния, чтобы сохранить, с какого «сайта» пользователь щелкнул «вход», а затем правильно на основе этого перенаправления. Вы должны быть осторожны, чтобы убедиться, что токен проходит безопасно.

person Parakh    schedule 03.04.2018
comment
Спасибо, Парах. Я дам ему попробовать. - person chookie; 04.04.2018
comment
Это ограничение снято - stackoverflow.com/questions/57495254/. Просто попробовал с двумя разными именами хоста на портале, и конфигурация была сохранена без ошибок. - person reim; 14.09.2020

К сожалению, вы не можете этого добиться.

Все URL-адреса ответов должны принадлежать одному домену. И все URI перенаправления должны принадлежать к одному домену. Это ограничение для регистрации приложения AAD B2C.

Вы также можете увидеть эту заметку на портале Azure:

введите здесь описание изображения

Есть ли способ обойти это без необходимости размещать 2 экземпляра одного и того же приложения, каждый с собственным идентификатором приложения / клиента Azure?

Для веб-API или веб-приложения, как я знаю, пока нет способа добиться этого.

Предлагаю вам проголосовать за эту идею в эту полезную страницу, ее рассмотрит команда AAD B2C.

Надеюсь это поможет!

person Wayne Yang    schedule 03.04.2018

Если кто-то наткнется на эту проблему, как я сегодня, я нашел обходной путь.

Внимание! Этот метод официально не поддерживается MS согласно предупреждению MS на портале Azure (см. второй снимок экрана)


1) В своем клиенте B2C перейдите «Все службы» -> найдите «Регистрация приложений» -> нажмите «Регистрация приложений» Все службы -> Снимок экрана регистрации приложений

2) Найдите свое приложение в списке приложений и щелкните по нему. Обратите внимание на предупреждение от MS (см. Снимок экрана) Снимок экрана со списком регистрации приложений

3) Нажмите «Аутентификация» и добавьте свои URI перенаправления в список. Это тот же пользовательский интерфейс, что и у клиентов, не использующих B2C. Снимок экрана со списком URI перенаправления


Это позволило мне вводить URI перенаправления с разными доменами. Похоже, что у него нет такого ограничения, как у колонки «Azure AD B2C». Мне пришлось подождать минуту, чтобы изменение вступило в силу, но у меня это сработало. Я не собираюсь жить с этим в ближайшее время, так что пока я согласен. Когда я все же решу начать жить, я, вероятно, найду какой-нибудь другой способ сделать то, что хочу, если MS все еще не одобрила этот метод.

Опять же, MS предостерегает от использования этого на данный момент, но, надеюсь, они официально поддержат его в ближайшее время.

person AugDog    schedule 24.07.2019
comment
интересная находка. Я также только что узнал сегодня, что теперь можно добавлять любые домены в обычную колонку b2c, хотя всплывающая подсказка для URL-адресов ответа говорит, что это невозможно. и это работает. - person Markus Dresch; 14.08.2019