Внешние пользователи попадают дважды в Azure AD B2C - PullRequest
1 голос
/ 22 апреля 2020

Я настраиваю вход с помощью Azure AD B2 C в веб-приложении, но по какой-то причине мои пользователи дважды оказываются в AD. Вот как это происходит.

Я приглашаю нового пользователя, используя Graph API (или используя портал Azure, тот же результат). Новый пользователь появляется в списке пользователей на портале Azure как UserType. = Гость и Источник = "Приглашенный пользователь". Пока все хорошо.

Теперь пользователь принимает приглашение. Источник вновь созданного гостевого пользователя затем изменяется на «Внешний Azure Active Directory». Я полагаю, что все в порядке.

Затем пользователь входит в систему и проходит процесс регистрации (я использую поток пользователей "Зарегистрироваться и войти"). В AD создается дополнительный пользователь. UserType = Member и Source = "Federated Azure Active Directory".

Имя входа работает должным образом, но в итоге у меня есть 2 пользователя с одинаковыми именем и именем пользователя. Один гость и один участник. Это как это должно работать? Это немного грязно со всеми пользователями, перечисленными дважды.

Я настроил 2 провайдера идентификации в ADB2 C. Электронная почта и OpenIdConnect. Если пользователь нажимает «Зарегистрироваться», он получает возможность создать локальную учетную запись в B2 C. Но я хочу, чтобы он мог использовать свои учетные данные из своей собственной организации, если это возможно, с использованием поставщика OpenIdConnect.

Так настраивается поставщик OID C OID C config

1 Ответ

0 голосов
/ 22 апреля 2020

Когда вы приглашаете пользователя с помощью функции гостевого приглашения AAD B2B, вы приглашаете пользователя Azure AD, а не пользователя B2 C. Например, вы можете использовать функцию приглашения, чтобы пригласить других администраторов.

Вам не нужно приглашать их, если они не нуждаются в администрировании B2 C. Они могут зарегистрироваться через поток регистрации B2 C напрямую.

За исключением , как мы обсуждали в комментариях, у вас есть ~ 30 различных AAD, которые вы хотите использовать, и которые используют базовый AAD арендатора B2 C в качестве IdP. В этом случае ваше решение в основном правильно. Пригласите арендатора B2 C, после чего он сможет войти в систему, используя эту внешнюю учетную запись. Будет дублированный пользователь, поскольку приглашенный пользователь не является пользователем B2 C. Возможно, есть какое-то решение для объединения пользователей с пользовательской политикой, но я, честно говоря, не уверен, как бы вы это сделали.

...