Upsert federatedIdentityCredential
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Создайте новый объект federatedIdentityCredential для приложения, если он существует, или обновите свойства существующего объекта federatedIdentityCredential . Настроив отношение доверия между регистрацией приложения Microsoft Entra и поставщиком удостоверений для вычислительной платформы, вы можете использовать маркеры, выданные этой платформой, для проверки подлинности с помощью платформа удостоверений Майкрософт и вызова API в экосистеме Майкрософт. В приложение можно добавить не более 20 объектов.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | Application.ReadWrite.All | Недоступно. |
Делегированные (личная учетная запись Майкрософт) | Application.ReadWrite.All | Недоступно. |
Приложение | Application.ReadWrite.OwnedBy | Application.ReadWrite.All |
HTTP-запрос
Вы можете обратиться к приложению, используя его идентификатор или appId. Id и appId называются идентификатором объекта и идентификатором приложения (клиента) соответственно в регистрациях приложений в Центр администрирования Microsoft Entra.
PATCH /applications/{id}/federatedIdentityCredentials(name='{name}')
PATCH /applications(appId='{appId}')/federatedIdentityCredentials(name='{name}')
Заголовки запросов
Имя | Описание |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Content-Type | application/json. Обязательный параметр. |
Prefer |
create-if-missing . Требуется для поведения upsert, в противном случае запрос обрабатывается как операция обновления. |
Текст запроса
В тексте запроса укажите представление объекта federatedIdentityCredential в формате JSON. В следующей таблице перечислены свойства, необходимые при создании federatedIdentityCredential. Обратите внимание, что свойство name является обязательным в составе URL-адреса запроса.
Свойство | Тип | Описание |
---|---|---|
Аудитории | Коллекция строк | Аудитория, которая может отображаться во внешнем маркере. Это поле является обязательным и должно иметь значение api://AzureADTokenExchange для Microsoft Entra ID. В нем говорится, что платформа удостоверений Майкрософт должны принимать в утверждении aud во входящем маркере. Это значение представляет Microsoft Entra ID во внешнем поставщике удостоверений и не имеет фиксированного значения для всех поставщиков удостоверений. Возможно, вам потребуется создать новую регистрацию приложения в поставщике удостоверений, чтобы служить аудиторией этого маркера. Это поле может принимать только одно значение и имеет ограничение в 600 символов. Обязательно. |
Эмитента | String | T— URL-адрес внешнего поставщика удостоверений и должен соответствовать утверждению издателя для внешнего токена, который обменивается. Сочетание значений издателя и субъекта должно быть уникальным в приложении. Он имеет ограничение в 600 символов. Обязательно. |
subject | String | Обязательный. Идентификатор внешней рабочей нагрузки программного обеспечения в пределах внешнего поставщика удостоверений. Как и значение аудитории, оно не имеет фиксированного формата, так как каждый поставщик удостоверений использует свой собственный — иногда GUID, иногда идентификатор с разделителями двоеточием, иногда произвольные строки. Здесь значение должно совпадать с вложенным утверждением в токене, представленном Microsoft Entra ID. Он имеет ограничение в 600 символов. Сочетание издателя и субъекта должно быть уникальным в приложении. |
Отклик
Если объект приложения с именем не существует, в случае успешного выполнения этот метод возвращает 201 Created
код ответа и новый объект federatedIdentityCredential в теле отклика.
Если объект приложения с именем уже существует, этот метод обновляет объект federatedIdentityCredential и возвращает 204 No Content
код ответа.
Примеры
Пример 1. Создание нового объекта federatedIdentityCredential, если он не существует
В следующем примере создается объект federatedIdentityCredential, так как не существует federatedIdentityCredential с указанным значением имени .
Запрос
Ниже показан пример запроса.
PATCH https://graph.microsoft.com/beta/applications(uniqueName='app-65278')/federatedIdentityCredentials(name='fic01-app-65278')
Content-Type: application/json
{
"issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
"subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
"audiences": [
"api://AzureADTokenExchange"
]
}
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#applications('bcd7c908-1c4d-4d48-93ee-ff38349a75c8')/federatedIdentityCredentials/$entity",
"id": "d9b7bf1e-429e-4678-8132-9b00c9846cc4",
"name": "testing02fic01-app-65278",
"issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
"subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
"description": null,
"audiences": [
"api://AzureADTokenExchange"
]
}
Пример 2. Обновление существующего federatedIdentityCredential
В следующем примере обновляется federatedIdentityCredential, так как существует federatedIdentityCredential с указанным значением имени .
Запрос
Ниже показан пример запроса.
PATCH https://graph.microsoft.com/beta/applications(uniqueName='app-65278')/federatedIdentityCredentials(name='fic01-app-65278')
Content-Type: application/json
Prefer: create-if-missing
{
"issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
"subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
"audiences": [
"api://AzureADTokenExchange"
]
}
Отклик
Ниже приводится пример отклика.
HTTP/1.1 204 No Content