identityProviders を作成する (非推奨)

名前空間: microsoft.graph

重要

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

注意事項

この ID プロバイダー API は非推奨であり、2023 年 3 月以降はデータの返送を停止します。 新しい ID プロバイダー API を使用してください。

新しい identityProvider オブジェクトを作成 します。

アクセス許可

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

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

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

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

HTTP 要求

POST /identityProviders

要求ヘッダー

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

要求本文

要求本文で、identityProviderまたはopenIdConnectProviderの JSON 表記を指定します (Azure AD B2C の場合のみ)。 次の表に示す、すべてのプロパティが必要です。

identityProvider オブジェクト

プロパティ 説明
clientId String アプリケーションのクライアント ID。アプリケーションを ID プロバイダーに登録した際に取得したクライアント ID です。
clientSecret String アプリケーションのクライアント シークレット。アプリケーションを ID プロバイダーに登録した際に取得したクライアント シークレットです。
name String ID プロバイダーの表示名。
type String ID プロバイダーの型。
    B2B シナリオの場合:
  • Google
  • Facebook
    B2C シナリオの場合:
  • Microsoft
  • Google
  • Amazon
  • LinkedIn
  • Facebook
  • GitHub
  • Twitter
  • Weibo
  • QQ
  • WeChat
  • OpenIDConnect

openIdConnectProvider オブジェクト

プロパティ 説明
clientId String アプリケーションのクライアント ID。アプリケーションを ID プロバイダーに登録した際に取得したクライアント ID です。
clientSecret String アプリケーションのクライアント シークレット。アプリケーションを ID プロバイダーに登録した際に取得したクライアント シークレットです。
name String ID プロバイダーの表示名。
type String ID プロバイダーの型。 値は、 である必要があります OpenIdConnect
claimsMapping claimsMapping userId displayname claimsMapping オブジェクトでは、プロパティとプロパティが必要です。
metadataUrl 文字列 Id プロバイダーの Open Id のメタデータ ドキュメントConnect URL。
responseMode 文字列 カスタム ID プロバイダーから B2C へのデータの送信に使用するメソッドAzure ADします。 次の応答モードを使用できます。
  • form_post : この応答モードは、最適なセキュリティを得る場合に推奨されます。 応答は HTTP POST メソッドを介して送信され、コードまたはトークンは application/x-www-form-urlencoded 形式を使用して本文でエンコードされます。
  • query : コードまたはトークンがクエリ パラメーターとして返されます。
responseType String カスタム ID プロバイダーの最初の呼び出しで送信される情報の種類authorization_endpoint説明します。 次の応答の種類を使用できます。
  • code: 承認コード フローごとに、コードが B2C に戻Azure ADされます。 Azure AD B2C は、トークンのコードtoken_endpointを呼び出して呼び出します。
  • id_token: ID トークンは、カスタム ID プロバイダー Azure AD B2C に返されます。
  • token: アクセス トークンは、カスタム ID プロバイダー Azure AD B2C に戻されます。 (現時点では、この値は B2C Azure ADサポートされていません)
scope String スコープは、カスタム ID プロバイダーから収集する情報とアクセス許可を定義します。

応答

成功した場合、このメソッドは応答コードと 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"
}

GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();

IdentityProvider identityProvider = new IdentityProvider();
identityProvider.name = "Login with Amazon";
identityProvider.type = "Amazon";
identityProvider.clientId = "56433757-cadd-4135-8431-2c9e3fd68ae8";
identityProvider.clientSecret = "000000000000";

graphClient.identityProviders()
    .buildRequest()
    .post(identityProvider);

重要

Microsoft Graph SDK では、既定で v1.0 バージョンの API が使用され、ベータ 版で使用できるすべての種類、プロパティ、API はサポートされていません。 SDK を使用してベータ API にアクセスする方法の詳細については、「Microsoft Graph SDK とベータ API を使用する」を参照してください。

SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください

応答

応答の例を次に示します。

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

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 を作成する (B2C Azure ADのみ)

要求

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

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


GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();

OpenIdConnectProvider identityProvider = new OpenIdConnectProvider();
identityProvider.name = "Login with the Contoso identity provider";
identityProvider.type = "OpenIDConnect";
identityProvider.clientId = "56433757-cadd-4135-8431-2c9e3fd68ae8";
identityProvider.clientSecret = "12345";
ClaimsMapping claimsMapping = new ClaimsMapping();
claimsMapping.userId = "myUserId";
claimsMapping.givenName = "myGivenName";
claimsMapping.surname = "mySurname";
claimsMapping.email = "myEmail";
claimsMapping.displayName = "myDisplayName";
identityProvider.claimsMapping = claimsMapping;
identityProvider.domainHint = "mycustomoidc";
identityProvider.metadataUrl = "https://mycustomoidc.com/.well-known/openid-configuration";
identityProvider.responseMode = OpenIdConnectResponseMode.FORM_POST;
identityProvider.responseType = EnumSet.of(OpenIdConnectResponseTypes.CODE);
identityProvider.scope = "openid";

graphClient.identityProviders()
    .buildRequest()
    .post(identityProvider);

重要

Microsoft Graph SDK では、既定で v1.0 バージョンの API が使用され、ベータ 版で使用できるすべての種類、プロパティ、API はサポートされていません。 SDK を使用してベータ API にアクセスする方法の詳細については、「Microsoft Graph SDK とベータ API を使用する」を参照してください。

SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください

応答

応答の例を次に示します。

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

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