Azure AD B2C: изменение локальной электронной почты

У меня есть два требования, которые кажутся конфликтующими:

  1. Используйте электронную почту в качестве имени пользователя.
  2. Разрешить пользователям изменять свою электронную почту.

Проблема: если вы настроите каталог для использования электронной почты в качестве имени пользователя, то политика редактирования профиля НЕ показывает адрес электронной почты, чтобы вы могли его изменить.

Любое решение, о котором я думаю, является кладжом и включает в себя создание совершенно новой локальной учетной записи для пользователя.

Любые идеи или предложения?


person Pytry    schedule 03.10.2016    source источник
comment
Когда пользователь меняет свой адрес электронной почты, должно ли измениться и его имя пользователя?   -  person dstrockis    schedule 05.10.2016
comment
Да. В этом случае имя пользователя ЯВЛЯЕТСЯ электронной почтой.   -  person Pytry    schedule 07.10.2016
comment
@dstrokis Я очень много работал над этим. Если вы настроите B2C local как username, я вообще не смогу найти способ изменить адрес электронной почты. Поле почты выдает исключение только для чтения, когда я делаю вызов графа. Поток политики для восстановления пароля также позволяет вам указать любой адрес электронной почты, который вам нравится, и он фактически отправляет туда электронное письмо, но затем не впускает вас. Если вы забудете свой адрес электронной почты, у вас будут настоящие проблемы.   -  person Bill Noel    schedule 14.02.2017
comment
@Pytry Страница локальной регистрации B2C на стороне сервера не позволит вам ввести адрес электронной почты, если локальный провайдер настроен как имя пользователя. Нет '.' и никаких символов '@'.   -  person Bill Noel    schedule 14.02.2017
comment
@Pytry Я только что успешно изменил адрес электронной почты для входа в клиент B2C, используя API графика. Это просто не обрабатывается в потоке, поэтому это может не принести вам много пользы. к вашему сведению.   -  person Bill Noel    schedule 15.02.2017
comment
@nhwilly Это то, что нам тоже пришлось сделать. Я разговаривал с представителями MS, и они сказали, что изменение вашей электронной почты будет усовершенствованием в будущем, над которым они работают. Хотя ETA на нем нет.   -  person Pytry    schedule 28.03.2017


Ответы (2)


Вам потребуется использовать API Azure AD Graph для обновления сущности «Пользователь».

person pswillies    schedule 04.10.2016
comment
Причина, по которой мне это не нравится, заключается в том, что мы оставляем многофакторную аутентификацию и проверку электронной почты на наше усмотрение. Что в первую очередь разрушает причину использования B2C. - person Pytry; 07.10.2016
comment
Да, это не идеально - AD B2C определенно не хватает в нескольких местах, учитывая целевой рынок, и в своем нынешнем состоянии он все еще выглядит скорее «предварительным». - person pswillies; 11.10.2016
comment
Я попробовал именно это, и он выдал исключение, что элемент «почта» был доступен только для чтения. - person Bill Noel; 14.02.2017
comment
вы можете использовать график для обновления поля otherMail, которое отображается в B2C как альтернативный адрес электронной почты. Однако при сбросе пароля этот адрес электронной почты не отображается как вариант. - person Bill Noel; 15.02.2017
comment
Попробуйте этот well">Необходимо ли при смене адреса электронной почты Azure B2C также менять имя участника-пользователя? - person coderpatros; 24.03.2017
comment
Хотя это не то, что я хочу, в настоящее время это единственный способ изменить адрес электронной почты, когда это имя пользователя. - person Pytry; 28.03.2017

Вы также можете сделать это через Microsoft Graph. Пример:

PATCH: https://graph.microsoft.com/v1.0/users/{UUID}
{
    "identities": [
        {
            "signInType": "emailAddress",
            "issuer": "xxxx.onmicrosoft.com",
            "issuerAssignedId": "{new email address}"
        }
    ]
}
person tank104    schedule 25.11.2020