identityProvider を作成する

名前空間: microsoft.graph

重要

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

要求本文で指定された種類の ID プロバイダー リソースを作成します。

identityProviderBase から派生したプロバイダーの種類の中で、現在、ソーシャルIdentityProviderリソースを Azure AD。 B2C Azure AD、この操作は現在、socialIdentityProvider、openIdConnectIdentityProvider、または appleManagedIdentityProviderリソースを作成できます。

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) IdentityProvider.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。
アプリケーション IdentityProvider.ReadWrite.All

仕事または学校のアカウントは、次のいずれかの役割に属している必要があります。

  • グローバル管理者
  • 外部 ID プロバイダー管理者

HTTP 要求

POST /identity/identityProviders

要求ヘッダー

名前 説明
Authorization ベアラー {token}。必須。
Content-Type application/json. Required.

要求本文

要求本文で、ソーシャルIdentityProviderオブジェクトの JSON 表記を指定Azure AD。

このAzure AD B2C は、socialIdentityProvider、openIdConnectIdentityProvider、または 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 への依存関係 があります
  • responseType が 指定されている code 場合、認証コード交換にはシークレットが必要です。
  • responseType がシークレットである場合は、コード交換が行えないので、シークレットは必要ありません。id_tokenは承認応答から直接 id_token 返されます。
displayName String ID プロバイダーの表示名。
domainHint 文字列 ドメイン ヒントを使用すると、指定した ID プロバイダーのサインイン ページに直接スキップできます。代わりに、ユーザーが使用可能な ID プロバイダーの一覧から選択できます。
claimsMapping claimsMapping OIDC プロバイダーが ID トークンを Azure AD に送り返した後、Azure AD は、受信トークンからのクレームを、Azure AD が認識して使用するクレームにマップできる必要があります。 この複合型は、そのマッピングをキャプチャします。
metadataUrl 文字列 OpenID id プロバイダーのメタデータ ドキュメントConnect URL。 すべての OpenID Connect ID プロバイダーは、サインインの実行に必要なほとんどの情報を含むメタデータ ドキュメントを記述します。 これには、使用する URL やサービスの公開署名キーの場所などの情報が含まれます。 OpenID Connectドキュメントは、常にで終わるエンドポイントに位置します .well-known/openid-configuration 。 追加するユーザー ID プロバイダーの OpenID Connect URL を指定します。
responseMode 文字列 応答モードでは、カスタム ID プロバイダーから B2C へのデータの送信に使用Azure ADします。 可能な値: form_post , query .
responseType 文字列 応答の種類は、カスタム ID プロバイダーの最初の呼び出しでauthorization_endpointの種類を示します。 可能な値: code id_token 、 、 token
scope String スコープは、カスタム ID プロバイダーから収集する情報とアクセス許可を定義します。

appleIdentityProvider オブジェクト

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

応答

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

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

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

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

要求

要求の例を次に示します。

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 プロバイダーを取得します (B2C Azure ADのみ)

要求

要求の例を次に示します。

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": "******"
}