Azure AD, Как добавить заявки пользователей для запроса OIDC / userinfo - PullRequest
0 голосов
/ 08 ноября 2019

Я внедряю новое «зарегистрированное» приложение в Azure AD, для которого мне нужно получить значение Samaccountname пользователя в качестве предпочтительного утверждения в процессе аутентификации пользователя. Приложения могут работать с запросом oidc, поэтому я пытаюсь найти способ добавить новое утверждение в профиле пользователя (get https://graph.microsoft.com/oidc/userinfo), содержащее атрибут SamaccountName "extension_cda8b3eafdfb4aa0b27ca9860634fd74_sAMAccountName", синхронизированный из локального активного каталога. К сожалению, после многих исследований и испытаний, я не могу найти способ достичь этого. Буду признателен за любой опыт в этой теме, спасибо

Прежде чем я изучил метод политики сопоставления утверждений (https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-claims-mapping), создание и возврат настраиваемого утверждения в маркере идентификации, поскольку приложения могут реализовывать Oauthv2 какхорошо. Однако у меня нет какой-либо гибкости в приложениях для изменения списка заявок, которые я могу прочитать из токена (жестко запрограммированы). Эта гибкость предоставляется только через конфигурацию oidc, где я могу выбрать предпочтительную заявку.

Ответы [ 2 ]

0 голосов
/ 14 ноября 2019

большое спасибо, однако я понимаю, что мой вопрос приводил в замешательство. В моем случае атрибут расширения samaccountname уже существует из синхронизации onpremise Adconnect. где PS C: \ Users \ HEDEP> (Get-AzureADUser -ObjectId $ UserId) .ToJson () вы получаете что-то вроде списка: «extension_cda8b3eafdfb4aa0b27ca9860634fd74_sAMAccountName»: «sac_user» мои приложения используют * 100утверждение пользователя, но, глядя на возвращенные значения, оно кажется очень ограниченным и статичным: {"sub": "S3FAHBnY4Crv4MA-t8DFIYcUYV6EamxbkD1iAqMBvBg", "name": "aaa bbb", "family_name": "bbb", "Given_name": "aaa "," picture ":" https://graph.microsoft.com/v1.0/me/photo/$value", "email": "vv@aa.onmicrosoft.com" Так что мне интересно, есть ли способ добавить расширение samaccountname в этот список (или косвенно имя samaccountnameзначение), чтобы сделать его доступным для приложений, какой параметр влияет на этот список утверждений «есть ли место для настройки?»; надеюсь, это поможет лучше понять мой вопрос.

0 голосов
/ 11 ноября 2019

Насколько я понимаю, вы хотите добавить настраиваемый атрибут Samaccountname в Azure AD.

Для его реализации необходимо использовать API-интерфейс Azure AD Graph:

POST https://graph.windows.net/contoso.onmicrosoft.com/applications/269fc2f7-6420-4ea4-be90-9e1f93a87a64/extensionProperties?api-version=1.5 HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Qi...r6Xh5KVA

{
    "name": "Samaccountname",
    "dataType": "String",
    "targetObjects": [
        "User"
    ]
}

Использование Azure ADGraph Explorer для быстрого тестирования.

Подробнее здесь .

Обратите внимание, что этот API поддерживает только приложение Azure AD v1.0 (нене поддерживает личную учетную запись).

Кроме того, Microsoft настоятельно рекомендует использовать Microsoft Graph вместо API-интерфейса Azure AD Graph для доступа к ресурсам Azure Active Directory. Чтобы узнать, как добавить пользовательский атрибут для пользователя Azure AD с помощью Microsoft Graph API, см. Добавление пользовательских данных пользователям с использованием открытых расширений .

...