Наше приложение представляет собой приложение SPA, использующее hello.js для связи с Azure AD B2C.Мы также используем настраиваемые политики и динамическое оформление экранов Azure AD B2C.
Предположим, у нас есть N поддоменов (subdomain1.maindomain.com, subdomain2.maindomain.com,… subdomainN.maindomain.com) с N> 20 (это максимальное количество URI перенаправления в Azure AD B2C)
На сегодняшний день, когда пользователь переходит на subdomain1.maindomain.com, мы перенаправляем его на maindomain.com? Query = subdomain1
На основе параметра запроса,мы выводим пользовательскую политику и, возможно, некоторые другие параметры, которые мы хотим динамически применить к нашему пользовательскому интерфейсу Azure B2C (поэтому мы передаем эти параметры как параметры строки запроса URL-адреса политики)
Это позволяет намиметь только 1 URI перенаправления , настроенный в Azure AD B2C (maindomain.com/Redirect)
Однако «? query = subdomain1» удаляется после входа пользователя в систему. Если пользователь входит в систему.добавив в закладки страницу сайта, после того как он вошел в систему, он добавит страницу в закладки, например: maindomain.com/SomePage.Если он вернется на эту страницу позже, мы не сможем определить правильную пользовательскую политику и стиль.Мы можем хранить некоторую информацию в локальном хранилище пользовательского браузера, но ее также можно удалить.
В идеале мы хотели бы сохранить URL-адрес как subdomain1.maindomain.com полностью (безстрока запроса).
Можно ли вообще сделать это с помощью Azure AD B2C безопасным способом?
- Я полагаю, что если бымы могли бы определить URI перенаправления с подстановочными знаками в Azure AD B2C, например * .maindomain.com, но я понимаю, что он не поддерживается.
- Поскольку мы ограничены 20 URI перенаправления в Azure AD B2C, мы не можем просто зарегистрировать все дочерние доменыперенаправить URI на приложение в Azure AD B2C (у нас может быть неограниченное количество поддоменов)
- Наше приложение представляет собой приложение SPA, мы используем hello.js на внешнем интерфейсе.Если мы сохраняем общий URI перенаправления, то при перенаправлении он сохраняет информацию о токене в хранилище сайта maindomain.com, поэтому недоступен с субдомена.