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 プロバイダーの型。
|
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"
}
フィードバック
フィードバックの送信と表示