次の方法で共有


identityProvider を作成する

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

要求本文で指定された型の ID プロバイダー オブジェクトを作成します。

identityProviderBase から派生したプロバイダーの種類のうち、現在、Microsoft Entra ID で socialIdentityProvider リソースを 作成できます。 Azure AD B2C では、現在、この操作で socialIdentityProvideropenIdConnectIdentityProvider、または appleManagedIdentityProvider リソースを作成できます。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) IdentityProvider.ReadWrite.All 注意事項なし。
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション IdentityProvider.ReadWrite.All 注意事項なし。

職場または学校アカウントを使用した委任されたシナリオでは、サインインしているユーザーに、サポートされている Microsoft Entra ロール またはサポートされているロールのアクセス許可を持つカスタム ロールを割り当てる必要があります。 外部 ID プロバイダー管理者 は、この操作でサポートされる最小限の特権ロールです。

HTTP 要求

POST /identity/identityProviders

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
Content-Type application/json. 必須です。

要求本文

要求本文で、Microsoft Entra ID で socialIdentityProvider オブジェクトの JSON 表現を指定します。

Azure AD B2C では、 socialIdentityProvideropenIdConnectIdentityProvider、または appleManagedIdentityProvider オブジェクトの JSON 表現を提供します。

次の表に示すプロパティはすべて必須です。

socialIdentityProvider オブジェクト

プロパティ 説明
clientId 文字列 アプリケーションを ID プロバイダーに登録した際に取得したクライアント識別子です。
clientSecret String アプリケーションが ID プロバイダーに登録された際に取得したクライアント シークレットです。 これは、書き込み専用です。 読み取り操作を行うと、**** が返されます。
displayName String ID プロバイダーの表示名。
identityProviderType String B2B シナリオでは、次の値が使用されます。GoogleFacebook。 B2B シナリオでは、次の値が使用されます。MicrosoftGoogleAmazonLinkedInFacebookGitHubTwitterWeiboQQWeChat

openIdConnectIdentityProvider オブジェクト

プロパティ 説明
clientId 文字列 アプリケーションを ID プロバイダーに登録した際に取得したクライアント ID です。
clientSecret String アプリケーションを ID プロバイダーに登録した際に取得したクライアント シークレットです。 clientSecret は responseType に依存しています。
  • responseTypecode場合、認証コード交換にはシークレットが必要です。
  • responseTypeid_token場合、コード交換がないためシークレットは必要ありません。id_tokenは承認応答から直接返されます。
displayName String ID プロバイダーの表示名。
domainHint String ドメイン ヒントを使用すると、ユーザーが使用可能な ID プロバイダーの一覧を選択するのではなく、指定した ID プロバイダーのサインイン ページに直接スキップできます。
claimsMapping claimsMapping OIDC プロバイダーが ID トークンを Microsoft Entra ID に送信した後、Microsoft Entra ID は、受信したトークンからの要求を、Microsoft Entra ID が認識して使用する要求にマップできる必要があります。 この複合型は、そのマッピングをキャプチャします。
metadataUrl String OpenID Connect ID プロバイダーのメタデータ ドキュメントの URL。 すべての OpenID Connect ID プロバイダーは、サインインを実行するために必要なほとんどの情報を含むメタデータ ドキュメントを記述します。 これには、使用する URL やサービスの公開署名キーの場所などの情報が含まれます。 OpenID Connect メタデータ ドキュメントは常に、 .well-known/openid-configurationで終わるエンドポイントにあります。 追加する OpenID Connect ID プロバイダーのメタデータ URL を指定します。
responseMode String 応答モードでは、カスタム ID プロバイダーから Azure AD B2C にデータを送信するために使用されるメソッドを定義します。 使用可能な値: form_postquery
responseType String 応答の種類は、カスタム ID プロバイダーのauthorization_endpointへの最初の呼び出しで返される情報の種類を表します。 使用可能な値: codeid_tokentoken
scope String スコープは、カスタム ID プロバイダーから収集する情報とアクセス許可を定義します。

appleIdentityProvider オブジェクト

プロパティ 説明
displayName String ID プロバイダーの表示名。
developerId String Apple の開発者 ID。
serviceId String Apple のサービス ID。
keyId String Apple のキー識別子。
certificateData String 証明書からのテキストの長い文字列である証明書データは、null 値である可能性があります。

応答

成功した場合、このメソッドは、Microsoft Entra テナントの応答本文で、 201 Created 応答コードと socialIdentityProvider オブジェクトの JSON 表現を返します。

Azure AD B2C テナントの場合、このメソッドは 201 Created 応答コードと、応答本文の socialIdentityProvideropenIdConnectIdentityProvider、または appleManagedIdentityProvider オブジェクトの JSON 表現を返します。

失敗した場合、4xx エラーが詳細情報とともに返されます。

例 1: 特定の ソーシャル ID プロバイダー (Microsoft Entra ID と Azure AD B2C) を作成する

要求

次の例は要求を示しています。

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

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

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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

{
    "@odata.type": "microsoft.graph.socialIdentityProvider",
    "id": "Amazon-OAUTH",
    "displayName": "Login with Amazon",
    "identityProviderType": "Amazon",
    "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
    "clientSecret": "000000000000"
}

例 2: 特定の OpenID Connect ID プロバイダー を作成する (Azure AD B2C の場合のみ)

要求

次の例は要求を示しています。

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

{
  "@odata.type": "microsoft.graph.openIdConnectIdentityProvider",
    "displayName": "Login with the Contoso identity provider",
    "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.openIdConnectIdentityProvider",
  "id": "OIDC-V1-MyTest-085a8a0c-58cb-4b6d-8e07-1328ea404e1a",
  "displayName": "Login with the Contoso identity provider",
  "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"
}

例 3: Apple ID プロバイダーを取得します (Azure AD B2C の場合のみ)

要求

次の例は要求を示しています。

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

{
  "@odata.type": "microsoft.graph.appleManagedIdentityProvider",
  "displayName": "Sign in with Apple",
  "developerId": "UBF8T346G9",
  "serviceId": "com.microsoft.rts.b2c.test.client",
  "keyId": "99P6D879C4",
  "certificateData": "******"
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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

{
  "@odata.type": "microsoft.graph.appleManagedIdentityProvider",
  "id": "Apple-Managed-OIDC",
  "displayName": "Sign in with Apple",
  "developerId": "UBF8T346G9",
  "serviceId": "com.microsoft.rts.b2c.test.client",
  "keyId": "99P6D879C4",
  "certificateData": "******"
}