Я использую AAD B2C для защиты приложения JavaScript и поддержки веб-служб. Пользователи могут быть связаны с несколькими компаниями, поэтому я планирую использовать раскрывающийся список и позволять пользователю выбирать, в каком контексте они хотят действовать.
Серверная веб-служба должна получать «контекст» … поэтому я чувствую, что мне нужно добавить значение в токен AAD B2C после аутентификации пользователя … или мне нужно перезвонить в AAD B2C с ценность как-то.
Я не могу найти никакой документации, подтверждающей, что это возможно.
Это поддерживаемый пользовательский поток?
Привет @Kye. Будет ли один и тот же пользователь входить в систему, используя разные идентификационные данные для разных компаний? — person Kye schedule 11.08.2019
Нет. Они войдут в систему, используя единую личность. — person Kye schedule 12.08.2019
Вы не можете просто «добавить ценность» к токену. Токен создается и подписывается MS, а не вашим приложением.
Но вы можете определить собственное утверждение и включить его в токен. Допустим, вы назовете его Контексты, и это будет список идентификаторов или названий компаний, к которым у пользователя есть доступ. После успешного входа в систему токен с этим утверждением возвращается в ваш js, и вы можете проанализировать его, чтобы отдельные элементы (компании) отображались в раскрывающемся списке. После того, как пользователь выбрал предпочтительный контекст из раскрывающегося списка, вы передаете его своей серверной веб-службе в качестве дополнительного параметра, а не как часть токена.
Управлять свойством / утверждением Contexts можно с помощью вызовов Graph — я подозреваю, что вы не хотите позволять самим пользователям добавлять туда все, что они хотят.
Единственный способ реализовать этот сценарий, когда у потребителя есть соответствующие права доступа к нескольким арендаторам в рамках вашего сценария, — это использовать Пользовательские политики: