Поделиться через


Создание identityProvider (не рекомендуется)

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Предостережение

API этого поставщика удостоверений является устаревшим и прекратит возвращать данные с марта 2023 г. Используйте новый API поставщика удостоверений.

Создайте новый объект identityProvider .

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) IdentityProvider.ReadWrite.All Недоступно.
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Приложение IdentityProvider.ReadWrite.All Недоступно.

Важно!

В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли. Администратор внешнего поставщика удостоверений — это наименее привилегированная роль, поддерживаемая для этой операции.

HTTP-запрос

POST /identityProviders

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json. Обязательно.

Текст запроса

В тексте запроса укажите json-представление объекта identityProvider или openIdConnectProvider (только для Azure AD B2C). Все свойства, перечисленные в приведенной ниже таблице, являются обязательными.

Объект identityProvider

Свойство Тип Описание
clientId String Идентификатор клиента для приложения. Это идентификатор клиента, полученный при регистрации приложения с помощью поставщика удостоверений.
clientSecret String Секрет клиента для приложения. Это секрет клиента, полученный при регистрации приложения с помощью поставщика удостоверений.
name String Отображаемое имя поставщика удостоверений.
type String Тип поставщика удостоверений
    Для сценария B2B:
  • Google
  • Facebook
    Для сценария B2C:
  • Microsoft
  • Google
  • Amazon
  • LinkedIn
  • Facebook
  • GitHub
  • Twitter
  • Weibo
  • QQ
  • WeChat
  • OpenIDConnect

объект openIdConnectProvider

Свойство Тип Описание
clientId String Идентификатор клиента для приложения. Это идентификатор клиента, полученный при регистрации приложения с помощью поставщика удостоверений.
clientSecret String Секрет клиента для приложения. Это секрет клиента, полученный при регистрации приложения с помощью поставщика удостоверений.
name String Отображаемое имя поставщика удостоверений.
type String Тип поставщика удостоверений Значение должно иметь значение OpenIdConnect.
claimsMapping claimsMapping Свойства userId и displayname являются обязательными в объекте claimsMapping.
metadataUrl String URL-адрес документа метаданных поставщика удостоверений OpenID Connect.
responseMode String Определяет метод, который следует использовать для отправки данных обратно из пользовательского поставщика удостоверений в Azure AD B2C. Можно использовать следующие режимы ответа:
  • form_post : этот режим ответа рекомендуется для обеспечения оптимальной безопасности. Ответ передается через метод HTTP POST, код или маркер кодируется в тексте в формате application/x-www-form-urlencoded.
  • query : код или маркер возвращается в качестве параметра запроса.
responseType String Описывает, какие сведения отправляются обратно при первоначальном вызове authorization_endpoint пользовательского поставщика удостоверений. Можно использовать следующие типы ответов:
  • code: в потоке кода авторизации код будет возвращен обратно в Azure AD B2C. Azure AD B2C продолжает вызывать token_endpoint для обмена кодом для маркера.
  • id_token: маркер идентификатора возвращается обратно в Azure AD B2C из пользовательского поставщика удостоверений.
  • token: маркер доступа возвращается обратно в Azure AD B2C от пользовательского поставщика удостоверений. (На данный момент это значение не поддерживается Azure AD B2C)
область String Область определяет сведения и разрешения, которые требуется получить от пользовательского поставщика удостоверений.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 201 Created и объект identityProvider или openIdConnectProvider (только для Azure AD B2C) в тексте ответа. В случае неудачи возвращается ошибка 4xx с подробностями.

Примеры

Пример 1. Создание определенного identityProvider

Запрос

Ниже показан пример запроса.

POST https://graph.microsoft.com/beta/identityProviders
Content-type: application/json

{
  "@odata.type": "microsoft.graph.identityProvider",
  "name": "Login with Amazon",
  "type": "Amazon",
  "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
  "clientSecret": "000000000000"
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 201 Created
Content-type: application/json

{
   "@odata.type": "microsoft.graph.identityProvider",
    "id": "Amazon-OAUTH",
    "name": "Login with Amazon",
    "type": "Amazon",
    "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
    "clientSecret": "*****"
}

Пример 2. Создание определенного openIDConnectProvider (только для Azure AD B2C)

Запрос

Ниже показан пример запроса.

POST https://graph.microsoft.com/beta/identityProviders
Content-type: application/json

{
  "@odata.type": "microsoft.graph.openIdConnectProvider",
    "name": "Login with the Contoso identity provider",
    "type": "OpenIDConnect",
    "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
    "clientSecret": "12345",
    "claimsMapping": {
        "userId": "myUserId",
        "givenName": "myGivenName",
        "surname": "mySurname",
        "email": "myEmail",
        "displayName": "myDisplayName"
    },
    "domainHint": "mycustomoidc",
    "metadataUrl": "https://mycustomoidc.com/.well-known/openid-configuration",
    "responseMode": "form_post",
    "responseType": "code",
    "scope": "openid"
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 201 Created
Content-type: application/json

{
  "@odata.type": "microsoft.graph.openIdConnectProvider",
  "id": "OIDC-V1-MyTest-085a8a0c-58cb-4b6d-8e07-1328ea404e1a",
  "name": "Login with the Contoso identity provider",
  "type": "OpenIDConnect",
  "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
  "clientSecret": "12345",
  "claimsMapping": {
      "userId": "myUserId",
      "givenName": "myGivenName",
      "surname": "mySurname",
      "email": "myEmail",
      "displayName": "myDisplayName"
  },
  "domainHint": "mycustomoidc",
  "metadataUrl": "https://mycustomoidc.com/.well-known/openid-configuration",
  "responseMode": "form_post",
  "responseType": "code",
  "scope": "openid"
}