Я разрабатываю веб-приложение, которое использует Microsoft Azure AD (Entra) в качестве сервера идентификации для единого входа. Итак, у меня есть пользователи, определенные в Azure AD.
Теперь я хочу добавить дополнительные свойства или претензии для каждого пользователя, т.е. Я хочу добавить эти два утверждения каждому пользователю: утверждение (свойство) Имя = ВнешнийServiceUserId требование (свойство) Имя = ВнешнийServicePassword
Тогда я смогу добавить эту информацию на портал Azure для каждого пользователя и получить ее в своем приложении с помощью API Microsoft Graph.
ИЕ. допустим, у меня есть два пользователя (Пользователь1, Пользователь2): Поэтому я хочу иметь возможность добавить:
User1.ExternalServiceUserId = "someUserId"
User1.ExternalServicePAssword= "somePassword"
User2.ExternalServiceUserId = "someUserId2"
User2.ExternalServicePAssword= "somePassword2"
И я хочу добавить эти свойства и их значения через портал Azure.
Как это сделать?
Обратите внимание: AFAIK не позволяет создавать или назначать пользовательские утверждения пользователю через портал Azure.
Вы можете создавать расширения для приложения с помощью Microsoft Graph API или PowerShell:
POST https://graph.microsoft.com/v1.0/applications/appObjID/extensionProperties
Content-type: application/json
{
"name": "ExternalServiceUserId",
"dataType": "String",
"targetObjects": [
"User"
]
}
Присвойте значение пользователю:
PATCH https://graph.microsoft.com/v1.0/users/UPN
Content-type: application/json
{
"extension_XXX_ExternalServiceUserId": "333333"
}
Сделайте то же самое с ExternalServicePAssword
и назначьте пользователю:
PATCH https://graph.microsoft.com/v1.0/users/UPN
Content-type: application/json
{
"extension_XXX_ExternalServicePAssword": "XXX"
}
Сделайте то же самое с другим пользователем и присвойте значения пользователю User2.
Теперь настройте дополнительные утверждения в приложении:
Для примера я сгенерировал токен доступа через Postman:
Grant type: Authorization code
Callback URL: https://oauth.pstmn.io/v1/callback
Auth URL: https://login.microsoftonline.com/TenantId/oauth2/v2.0/authorize
Token URL : https://login.microsoftonline.com/TenantId/oauth2/v2.0/token
Client ID : ClientId
Client Secret : ClientSecret
Scope: api://ClientID/Claims.Read
Когда я декодировал токен доступа, я могу успешно получить пользовательские утверждения:
Вот и все. Спасибо
AFAIK невозможно добавить пользовательские утверждения через портал Azure. Вместо этого используйте PowerShell, создайте утверждения и назначьте их пользователю. Проверьте эту ветку SO stackoverflow.com/questions/76393221/…