オンプレミスプロビジョニングのSCIMコネクターをテストする

Oktaでは、Okta Provisioning Connector SDKで構築されたSCIMコネクター、または任意のカスタムSCIMコネクターやSCIMサーバーをテストするためのユーティリティを提供しています。コネクターをテストするためにOktaOkta Provisioning Agentに接続する必要はありません。

テストユーティリティはOkta Provisioning Connector SDKパッケージの一部で、Oktaダウンロードページで入手できます。Okta Provisioning Connector SDKパッケージを入手するには、Okta Admin Consoleにサインインし、[Settings(設定)][Download(ダウンロード)]を選択します。次に、Okta Provisioning Connector SDKの[Download(ダウンロード)]をクリックします。

テストユーティリティは、Okta Provisioning Connector SDKの「tester(テスター)」フォルダー内のscim-sdk-test.jarに含まれています。テストユーティリティのドキュメントはtester/README.TXTファイルに用意されています。テストの主な目的は、SCIMコネクターまたはSCIMサーバーからの応答を検証することです。

テストデータ

テストデータは、tester/dataディレクトリの.jsonファイルにあります。これらのファイルを使用または変更して、コネクターをテストすることができます。テストはすべて、入力データが有効であることを前提としています。サンプルデータファイルの編集や作成は慎重に行ってください。

テストの実行

scim-sdk-tests.jarファイルを使用して、テストを実行します。すべての使用可能な引数を確認するには、引数なしでjarを実行します。

java -jar scim-sdk-tests.jar

呼び出し、応答、すべてのオプション、サンプル結果を含む完全なテスト情報は、tester/README.TXTファイルに表示されます。以下のコードは、典型的なテスト呼び出しを示しています。最小限の数のパラメーターが渡されます。

  • url:SCIMサーバーのベースURL
  • method:テストするOKTAプロビジョニングメソッド
  • file:入力データファイル

サンプルテスト呼び出し

以下は、テスト呼び出しのサンプルです。

java -jar scim-sdk-tests.jar -url http://localhost:8080 -method createNewUser -file data/createNewUser.json

テスターの使用

すべての使用可能な引数を確認するには、引数なしでjarを実行します。

java -jar scim-sdk-tests.jar

usage: scim-sdk-tests

渡すことのできる引数の詳細を以下の表に示します。

引数 説明
-arg <propertyName=propertyValue> メソッドが使用する任意のプロパティ名と値のペアを渡します。
-expectResults <true|false> 現在のメソッドでコネクターから結果が戻ってくるかどうか、テストの期待値を設定します。これは、checkUserExists、downloadUsers、downloadGroups、importUserProfileの各メソッドで使用できます。
-file <fileName> 現在のメソッドの入力に使用するデータファイルです。サンプルファイルは、テストユーティリティパッケージのdataディレクトリから提供されています。
-header <headerName=headerValue> SCIMサーバーに送信する追加のHTTPヘッダーです。たとえば、「X-Internal-AuthHeader=secret」のように指定します。
-method <methodName>

createNewUser

送信されたHTTPリクエスト:

GET /Users?filter=userName=myemail@domain.com&startIndex=1&count=100

POST /Users

OktaコネクターSDKを使用して構築されたコネクターをテストする場合、テスターはUserオブジェクトを渡し、コネクターを使用してユーザーを作成します。コネクターメソッドSCIMService.createUserをテストします。

createPendingUser

送信されたHttpリクエスト:

POST /Users

OktaコネクターSDKを使用して構築されたコネクターをテストする場合、テスターはUserオブジェクトを渡し、コネクターを使用して保留中のユーザーを作成します。コネクターメソッドSCIMService.createUserをテストします。

downloadUsers

送信されたHTTPリクエスト:

GET /Users?startIndex=1&count=100

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターはユーザーの全リストを返すようにコネクターに対してクエリを実行します。コネクターメソッドSCIMService.getUsers(フィルターなし)をテストします。

checkUserExists

送信されたHTTPリクエスト:

/Users?filter=userName=myemai@domain.com&startIndex=1&count=100

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは、特定のユーザーがすでに存在するかどうか確認するために、コネクターに対してクエリを実行します。これには次の追加プロパティが必要です:userIdFieldNameとuserIdFieldValue。コネクターメソッドSCIMService.getUsers(フィルターあり)をテストします。

importUserProfile

送信されたHTTPリクエスト:

GET /Users/<Id>

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは、ユーザーのIDを渡して1人のユーザーを返すようにコネクターに対してクエリを実行します。idという追加のプロパティが必要です。コネクターメソッドSCIMService.getUserをテストします。

activateUser

送信されたHTTPリクエスト:

PUT /Users/<id>

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは既存のユーザーをアクティブ化するためにコネクターに対してクエリを実行します。コネクターメソッドSCIMService.updateUserをテストします。

deactivateUser

送信されたHTTPリクエスト

PUT /Users/<id>

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは既存のユーザーをディアクティブ化するためにコネクターに対してクエリを実行します。コネクターメソッドSCIMService.updateUserをテストします。

reactivateUser

送信されたHTTPリクエスト:

PUT /Users/<id>

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは既存のユーザーを再度有効にするためにコネクターに対してクエリを実行します。コネクターメソッドSCIMService.updateUserをテストします。

pushPasswordUpdate

送信されたHTTPリクエスト:

PUT /Users/<id>

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは既存のユーザーのパスワードを更新するためにコネクターに対してクエリを実行します。コネクターメソッドSCIMService.updateUser pushProfileUpdateをテストします。Oktaは既存のユーザーのプロパティを更新するようにコネクターに要求します。コネクターメソッドSCIMService.updateUserをテストします。

deleteGroup

送信されたHTTPリクエスト:

DELETE /Groups/<id>

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターはグループを削除するために、コネクターに対してクエリを実行します。コネクターメソッドSCIMService.deleteGroupをテストします。

updateGroup

送信されたHTTPリクエスト:

PUT /Groups/<id>

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターはグループを更新するために、コネクターに対してクエリを実行します。コネクターメソッドSCIMService.updateGroupをテストします。

createGroup

送信されたHTTPリクエスト:

POST /Groups

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターはグループを作成するために、コネクターに対してクエリを実行します。コネクターメソッドSCIMService.createGroupをテストします。

getGroupById

送信されたHTTPリクエスト:

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターはIDに基づいてグループを返すために、コネクターに対してクエリを実行します。コネクターメソッドSCIMService.getGroupをテストします。

downloadGroups

送信されたHTTPリクエスト:

GET /Groups?startIndex=1&count=100

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターはグループの全リストを返すようにコネクターに要求します。コネクターメソッドSCIMService.getGroupsをテストします。

getImplementedUserManagementCapabilities

送信されたHTTPリクエスト:

GET /ServiceProviderConfigs

OktaコネクターSDKで構築されたコネクターをテストしている場合、テスターは、コネクターが実装しているUserManagementCapabilitiesのリストを返すようにコネクターに要求します。コネクターメソッドSCIMService.getImplementedUserManagementCapabilitiesをテストします。

-url <url> 使用するSCIMサーバーのURLです。Example:http://acme.com:8080

Oktaが提供するデフォルト実装は、appnameがonprem_appであることを前提としています。以下の例とデフォルト実装のdataフォルダー内の入力データファイルは、App Userカスタムスキーマのカスタムスキーマ名(urn:okta:onprem_app:1.0:user)を使用します。コネクターを実装する際は、正しいappnameを使用する必要があります。

createNewUser

createNewUserはコネクターを使用してユーザーを作成するために、SCIM Userオブジェクトを渡します。コネクターSDKメソッドSCIMService.createUserをテストします。2つのサンプルデータファイルが用意されているので、それを使ってテストします。

以下のテストでは、createNewUser.jsonファイルで定義されたSCIMユーザーをSCIMコネクターに送信しています。コネクターから返されたユーザーに対して、基本的な検証がいくつか行われます。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method createNewUser -file data/createNewUser.json

Response:
[ 04-10-2013 13:23:01.258 ] [ INFO] - making POST request to http://localhost:8080/Users [ 04-10-2013 13:23:01.449 ] [ INFO] - Okta will use the ID 103 to identify this User in the future. [ 04-10-2013 13:23:01.450 ] [ INFO] - User returned from connector: schemas: "urn:scim:schemas:core:1.0", "urn:scim:schemas:extension:enterprise:1.0" phoneNumbers: value: "123-444-5555" type: "mobile" userName: "myemail@domain.com" name: familyName: "LastName" givenName: "FirstName" active: true emails: primary: true value: "myemail@domain.com" type: "primary" primary: false value: "mypersonalemail@domain.com" type: "secondary" password: "verySecure" id: "103" [ 04-10-2013 13:23:01.450 ] [ INFO] - OK!

createPendingUser

createPendingUserはコネクターを使用して保留中のユーザーを作成するために、SCIM Userオブジェクトを渡します。コネクターSDKメソッドSCIMService.createUserをテストします。2つのサンプルデータファイルが用意されているので、それを使ってテストします。

createPendingUserは、すべてのユーザーのアクティブフィールドが「false」であることを除けば、createNewUserと類似しています。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method createPendingUser -file data/createPendingUser-withCustomExtension.json

downloadUsers

downloadUsersは、ユーザーの全リストを返すようにコネクターに要求します。SCIMService.getUsersコネクターメソッドにフィルターを渡さずにテストします。

以下のテストでは、SCIMコネクターに対してすべてのユーザーを求めるリクエストを行います。返されるユーザーはディスクにログ記録されます。ユーザーの複数のページが存在する場合、テストはコネクターに対して複数のリクエストを行う可能性があります。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method downloadUsers

Response:
[ 04-10-2013 14:14:18.888 ] [ INFO] - making GET request to http://localhost:8080/Users?startIndex=1&count=100 [ 04-10-2013 14:14:19.003 ] [ INFO] - downloadUsers: 3 Users returned. [ 04-10-2013 14:14:19.007 ] [ INFO] - downloadUsers: Users returned from connector logged to downloadUsers-20131004-141419.txt

checkUserExists

checkUserExistsは、特定のユーザーが存在するかどうかをコネクターに問い合わせます。SCIMService.getUsersコネクターメソッドにフィルターを渡してテストします。追加プロパティ(userIdFieldNameとuserIdFieldValue)が必要です。

以下のテストでは、提供されたプロパティを使用して、SCIMコネクターにリクエストを行います。このテストでは、SCIMコネクターが「userName myemail@domain.com」を持つユーザーを見つけられないことを想定しています。

テストでは、サンプル応答に類似した出力が返されるはずです。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method checkUserExists -arg userIdFieldName=userName -arg userIdFieldValue=myemail@domain.com \ -expectResults false

Response:
[ 03-10-2013 14:54:16.741 ] [ INFO] - making GET request to http://localhost:8080/Users?filter=userName%20eq%20%22myemail%40dom... [ 03-10-2013 14:54:16.846 ] [ INFO] - checkUserExists: No users returned from server. This should be expected. [ 03-10-2013 14:54:16.846 ] [ INFO] - OK!

使用状況

以下のコード(直前のコマンドから-expectResults 引数を削除したもの)を実行すると、テストは失敗します。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method checkUserExists -arg userIdFieldName=userName -arg userIdFieldValue=myemail@domain.com

Response:
[ 03-10-2013 14:57:41.218 ] [ INFO] - making GET request to http://localhost:8080/Users?filter=userName%20eq%20%22myemail%40dom... [ 03-10-2013 14:57:41.319 ] [ ERROR] - Expected results from checkUserExists but did not get anything.

コネクターがユーザーを検出すると、ユーザーデータと一部のOktaデバッグ情報が出力されます。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method checkUserExists -arg userIdFieldName=id -arg userIdFieldValue=102
Response:
[ 03-10-2013 15:01:14.095 ] [ INFO] - making GET request to http://localhost:8080/Users?filter=id%20eq%20%22102%22&startInd... [ 03-10-2013 15:01:14.217 ] [ INFO] - checkUserExists: 1 users returned. [ 03-10-2013 15:01:14.217 ] [ INFO] - checkUserExists: User returned from Connector: schemas: "urn:scim:schemas:core:1.0", "urn:scim:schemas:extension:enterprise:1.0", "urn:okta:onprem_app:1.0:user" id: "102" userName: "admin" name: formatted: "SCIM firstname2 SCIM lastname2" givenName: "SCIM first2" familyName: "SCIM last2" middleName: "SCIM middle2" emails: value: "SCIM_admin@okta.com" primary: true type: "work" active: false password: "god" groups: value: "1002" display: "secondGroup" urn:okta:onprem_app:1.0:user: isAdmin: true isOkta: false departmentName: "Administration" [ 03-10-2013 15:01:14.217 ] [ INFO] - checkUserExists: The ID 102 will be used as the id for this user in Okta [ 03-10-2013 15:01:14.217 ] [ INFO] - checkUserExists: The user will be returned as INACTIVE [ 03-10-2013 15:01:14.218 ] [ INFO] - OK!

ユースケース

ファーストネームでユーザーを検索する方法:

java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method checkUserExists -arg userIdFieldName=name.givenName -arg userIdFieldValue="SCIM first"

カスタムスキーマ拡張機能プロパティでユーザーを検索する方法:

java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method checkUserExists -arg userIdFieldName=urn:okta:onprem_app:1.0:user:departmentName \ -arg userIdFieldValue="Cloud Service"

importUserProfile

importUserProfileは、ユーザーのIDを渡して単一のユーザーを返すようにコネクターに要求します。コネクターメソッドSCIMService.getUserをテストします。idという追加のプロパティが必要です。

以下のテストでは、SCIMコネクターに101というIDのユーザーを求めるリクエストを行います。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method importUserProfile -arg id=101
Response:
[ 04-10-2013 13:57:54.092 ] [ INFO] - making GET request to http://localhost:8080/Users/101 [ 04-10-2013 13:57:54.203 ] [ INFO] - importUserProfile: User returned from Connector: schemas: "urn:scim:schemas:core:1.0", "urn:scim:schemas:extension:enterprise:1.0", "urn:okta:onprem_app:1.0:user" id: "101" userName: "okta" name: formatted: "SCIM firstname SCIM lastname" givenName: "SCIM first" familyName: "SCIM last" middleName: "SCIM middle" emails: value: "SCIM_okta@okta.com" primary: true type: "work" active: true password: "inSecure" groups: value: "1001" display: "firstGroup" value: "1002" display: "secondGroup" urn:okta:onprem_app:1.0:user: isAdmin: false isOkta: true departmentName: "Cloud Service" [ 04-10-2013 13:57:54.204 ] [ INFO] - importUserProfile: The ID 101 will be used as the id for this user in Okta [ 04-10-2013 13:57:54.204 ] [ INFO] - OK!

ユースケース

以下は、存在しないと思われるユーザーを検索する方法です。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method importUserProfile -arg id=invalidExternalId -expectResults false

Response:
[ 04-10-2013 14:00:01.081 ] [ INFO] - making GET request to http://localhost:8080/Users/invalidExternalId [ 04-10-2013 14:00:01.245 ] [ WARN] - error status of 404 received from http://localhost:8080/Users/invalidExternalId [ 04-10-2013 14:00:01.245 ] [ INFO] - importUserProfile: No users returned from server. This should be expected. [ 04-10-2013 14:00:01.246 ] [ INFO] - OK!

以下は、存在すると思われるユーザーを検索する方法を示していますが、結果は返されません。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method importUserProfile -arg id=103

Response:
[ 04-10-2013 14:00:52.096 ] [ INFO] - making GET request to http://localhost:8080/Users/103 [ 04-10-2013 14:00:52.191 ] [ WARN] - error status of 404 received from http://localhost:8080/Users/103 [ 04-10-2013 14:00:52.191 ] [ ERROR] - Expected results from importUserProfile but did not get anything.

activateUser

activateUserは、既存のユーザーをアクティブ化するようにコネクターに要求します。コネクターメソッドSCIMService.updateUserをテストします。

以下のテストでは、SCIMコネクターにユーザーのアップデートを要求します。これはユーザーをアクティブ化するためのテストなので、アクティブフィールドは常にtrueになります。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method activateUser -file data/activateUser.json

Response:
[ 10-10-2013 14:29:00.211 ] [ INFO] - making PUT request to http://localhost:8080/Users/101 [ 10-10-2013 14:29:00.598 ] [ INFO] - activateUser: will return to Okta that the user's active state is: true [ 10-10-2013 14:29:00.598 ] [ INFO] - OK!

deactivateUser

deactivateUserは、既存のユーザーを非アクティブ化するようにコネクターに要求します。コネクターメソッドSCIMService.updateUserをテストします。

以下のテストでは、SCIMコネクターにユーザーのアップデートを要求します。これはユーザーをディアクティブ化するためのテストなので、アクティブフィールドは常にfalseになります。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method deactivateUser -file data/deactivateUser.json

Response:
[ 10-10-2013 14:32:51.211 ] [ INFO] - making PUT request to http://localhost:8080/Users/101 [ 10-10-2013 14:32:52.171 ] [ INFO] - NOTE: deactivateUser does not send the user returned from the connector back to Okta.Okta assumes that a non-error response from your connector means the deactivateUser methods was successful. [ 10-10-2013 14:32:52.598 ] [ INFO] - OK!

reactivateUser

reactivateUserは、以前にディアクティベートされたユーザーをアクティブ化するようにコネクターに要求します。コネクターメソッドSCIMService.updateUserをテストします。

以下のテストでは、SCIMコネクターにユーザーのアップデートを要求します。これはユーザーを再度有効にするためのテストなので、アクティブフィールドは常にtrueになります。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method reactivateUser -file data/reactivateUser.json

Response:
[ 10-10-2013 14:35:04.704 ] [ INFO] - making PUT request to http://localhost:8080/Users/101 [ 10-10-2013 14:35:04.828 ] [ INFO] - NOTE: reactivateUser does not send the user returned from the connector back to Okta.Okta assumes that a non-error response from your connector means the reactivateUser methods was successful. [ 10-10-2013 14:35:04.828 ] [ INFO] - OK!

pushPasswordUpdate

pushPasswordUpdateは、既存のユーザーのパスワードをアップデートするようにコネクターに要求します。コネクターメソッドSCIMService.updateUserをテストします。

以下のテストでは、SCIMコネクターにユーザーのアップデートを要求します。パスワードが変更になっても、ユーザーオブジェクト全体が提供されます。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method pushPasswordUpdate -file data/pushPasswordUpdate.json

Response:
[ 10-10-2013 14:36:52.029 ] [ INFO] - making PUT request to http://localhost:8080/Users/101 [ 10-10-2013 14:36:52.124 ] [ INFO] - NOTE: pushPasswordUpdate does not send the user returned from the connector back to Okta.Okta assumes that a non-error response from your connector means the pushPasswordUpdate methods was successful. [ 10-10-2013 14:36:52.124 ] [ INFO] - OK!

pushProfileUpdate

pushProfileUpdateは、既存のユーザーのプロパティをアップデートするようにコネクターに要求します。コネクターメソッドSCIMService.updateUserをテストします。

以下のテストでは、SCIMコネクターにユーザーのアップデートを要求します。変更されたフィールドのみが含まれるオブジェクトではなく、ユーザーオブジェクト全体が提供されます。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080/ -method pushProfileUpdate -file data/pushProfileUpdate.json

Response:
[ 10-10-2013 14:39:44.693 ] [ INFO] - making PUT request to http://localhost:8080/Users/101 [ 10-10-2013 14:39:44.785 ] [ INFO] - NOTE: pushProfileUpdate does not send the user returned from the connector back to Okta.Okta assumes that a non-error response from your connector means the pushProfileUpdate methods was successful. [ 10-10-2013 14:39:44.786 ] [ INFO] - OK!

downloadGroups

downloadGroupsは、グループの全リストを返すようにコネクターに要求します。コネクターメソッドSCIMService.getGroupsをテストします。

以下のテストでは、SCIMコネクターにすべてのグループを求めるリクエストを行い、返されたグループはディスクにログ記録されます。グループの複数のページが存在する場合、テストはコネクターに対して複数のリクエストを行う可能性があります。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method downloadGroups

Response:
[ 10-10-2013 14:40:55.598 ] [ INFO] - making GET request to http://localhost:8080/Groups?startIndex=1&count=100 [ 10-10-2013 14:40:55.816 ] [ INFO] - downloadGroups: 2 Groups returned. [ 10-10-2013 14:40:55.819 ] [ INFO] - downloadGroups: Groups returned from connector logged to downloadGroups-20131010-144055.txt [ 10-10-2013 14:40:55.820 ] [ INFO] - OK!

getGroupById

getGroupByIdは、指定されたIDに基づいてグループを返すようにコネクターに要求します。コネクターメソッドSCIMService.getGroupをテストします。idという追加のプロパティが必要です。

以下のテストでは、SCIMコネクターにグループを返すことを要求します。グループのすべてのプロパティが出力されます。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method getGroupById -arg id=1002

Response:
[ 17-10-2013 18:03:17.270 ] [ INFO] - making GET request to http://localhost:8080/Groups/1002 [ 17-10-2013 18:03:17.381 ] [ INFO] - getGroupById : Group returned from connector: schemas: "urn:scim:schemas:core:1.0", "urn:okta:custom:group:1.0" id: "1002" members: value: "User-001" display: "First User" value: "User-002" display: "Second User" displayName: "AppGroup-Changed" urn:okta:custom:group:1.0: description: "This is the changed first group" [ 17-10-2013 18:03:17.381 ] [ INFO] - OK!

idでグループを検索できない場合、出力は以下の応答に類似したものになります。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method getGroupById -arg id=3455

Response:
[ 18-10-2013 10:22:40.733 ] [ INFO] - making GET request to http://localhost:8080/Groups/3455 [ 18-10-2013 10:22:40.833 ] [ WARN] - error status of 404 received from http://localhost:8080/Groups/3455 [ 18-10-2013 10:22:40.833 ] [ ERROR] - Expected results from getGroupById but did not get anything.

createGroup

createGroupは、グループを作成できるようにコネクターにグループを送信します。コネクターメソッドSCIMService.createGroupをテストします。

同じグループがシステムに存在する場合は、DuplicateGroupExceptionをスローする必要があります。

以下のテストでは、SCIMコネクターにグループを作成して返すことを要求します。グループのすべてのプロパティが印刷されます。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method createGroup -file data/createGroup.json

Response:
[ 17-10-2013 18:09:02.457 ] [ INFO] - making POST request to http://localhost:8080/Groups [ 17-10-2013 18:09:02.564 ] [ INFO] - Okta will use the ID 1004 to identify this Group in the future. [ 17-10-2013 18:09:02.564 ] [ INFO] - Group returned from connector: schemas: "urn:scim:schemas:core:1.0", "urn:okta:custom:group:1.0" id: "1004" members: value: "User-003" display: "Third User" value: "User-004" display: "Fourth User" value: "User-005" display: "Fifth User" displayName: "AppGroup-02" urn:okta:custom:group:1.0: description: "This is the second group" [ 17-10-2013 18:09:02.565 ] [ INFO] - OK!

以下の例は、グループの作成を求められたときに、コネクターがDuplicateGroupExceptionをスローする場合の出力を示しています。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method createGroup -file data/createGroup.json

Response:
[ 18-10-2013 10:29:49.473 ] [ INFO] - making POST request to http://localhost:8080/Groups [ 18-10-2013 10:29:49.576 ] [ WARN] - error status of 409 received from http://localhost:8080/Groups [ 18-10-2013 10:29:49.577 ] [ ERROR] - Cannot create the group [{ "schemas": ["urn:scim:schemas:core:1.0", "urn:okta:custom:group:1.0"], "displayName": "AppGroup-02", "id": "1004", "members" : [{"value": "User-003", "display": "Third User"},{"value": "User-004", "display": "Fourth User"},{"value": "User-005", "display": "Fifth User"}], "urn:okta:custom:group:1.0":{ "description":"This is the second group" } }]. It already exists [ 18-10-2013 10:29:49.577 ] [ ERROR] - Duplicate group found. Cannot create the group

updateGroup

updateGroupは、グループをアップデートできるようにコネクターにグループを送信します。コネクターメソッドSCIMService.updateGroupをテストします。

以下のテストは、SCIMコネクターに対してグループを更新してそれを返すことを要求します。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method updateGroup -file data/updateGroup.json

Response:
[ 17-10-2013 18:11:11.842 ] [ INFO] - making PUT request to http://localhost:8080/Groups/1002 [ 17-10-2013 18:11:11.939 ] [ INFO] - NOTE: updateGroup does not send the group returned from the connector back to Okta.Okta assumes that a non-error response from your connector means the updateGroup methods was successful. [ 17-10-2013 18:11:11.939 ] [ INFO] - OK!

deleteGroup

deleteGroupはIDをコネクターに送信し、そのIDを持つグループを削除できるようにします。コネクターメソッドSCIMService.deleteGroupをテストします。idという追加のプロパティが必要です。

そのIDを持つグループが存在しない場合は、EntityNotFoundExceptionをスローする必要があります。

以下のテストでは、SCIMコネクターにグループを削除することを要求します。

$ java -jar scim-sdk-tests.jar -url http://localhost:8080 -method deleteGroup -arg id=1003

Response:
[ 17-10-2013 18:16:27.553 ] [ INFO] - making DELETE request to http://localhost:8080/Groups/1003 [ 17-10-2013 18:16:27.646 ] [ INFO] - NOTE: deleteGroup does not send any data back to Okta.Okta assumes that a non-error response from your connector means the deleteGroup was successful and the group with the Id 1003 was deleted [ 17-10-2013 18:16:27.646 ] [ INFO] - OK

次の手順

SCIMコネクターに接続する

関連項目

SDKを使ってオンプレミスプロビジョニングのSCIMコネクターを作成する

オンプレミスプロビジョニングのSCIMコネクターを作成する

オンプレミスプロビジョニング用のSCIMメッセージ