Oracle® Fusion Middleware Oracle Access Management開発者ガイド 11gリリース2 (11.1.2) B69537-02 |
|
![]() 前 |
![]() 次 |
この章では、cURLを使用して、Mobile and SocialクライアントがMobile and Socialサーバーに送信するRESTコールについて説明します。この章の内容は次のとおりです。
cURLの使用に関する注意
cURLは、http://curl.haxx.se/
のcURL Webサイトからダウンロードできるフリー・ソフトウェアです。
サーバーへのRESTコールの送信にcURLを使用することにより、Mobile and SocialクライアントとMobile and Socialサーバーとのやり取りについての理解を深めることができます。また、これを便利なトラブルシューティング・ツールとしても使用できます。
注意: Windowsでは、一重引用符( コマンドに一重引用符と二重引用符の両方が必要な場合、二重引用符を円記号でエスケープし(例: |
注意: このガイドにおいて、cURLのコマンドおよびサーバー・レスポンスでの改行は、単に表示上の都合により使用されています。 |
この項では、Mobile and SocialのRESTサービスで使用するために予約されているリクエストおよびレスポンスの属性名について説明します。これらの属性は、説明のとおり、問合せパラメータ、HTTPヘッダーまたはそのヘッダーのJSON本文部分に含めることができます。
注意: すべての属性の名前および値では、大/小文字が区別されます。 |
この項で説明する属性名は次のとおりです。
この属性を使用して、クライアント・アプリケーションと互換性のある特定のバージョンのSDKを指定します。SDKバージョンを指定しない場合、Mobile and Socialサーバーではデフォルトで最新のSDKバージョンが使用されます。
HTTPヘッダー
問合せパラメータ
リクエスト
レスポンス
-H "X-IDAAS-REST-VERSION:v1"
サンプル・リクエスト
curl -i -H "Content-Type: application/json http://host.us.example.com:14100/oic_rest /rest/jwtauthentication/authenticate-d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"profileid1","X-Idaas-Rest-Subject-Password":"secret12", "X-Idaas-Rest-New-Token-Type-To-Create":"CLIENTTOKEN"}'-H "X-IDAAS-REST-VERSION:v1"
サンプル・レスポンス
HTTP/1.1 200 OK Date: Tue, 05 Jun 2012 11:23:19 GMT Transfer-Encoding: chunked Content-Type: application/json X-IDAAS-REST-VERSION: v1 Set-Cookie: JSESSIONID=5Z4sPNsHVmrplgs8HNDbQGxddC7TJQS7s4QspYvMpcMJJLC2nGx5!1574 236250; path=/; HttpOnly X-ORACLE-DMS-ECID:a393487d2600b00c:-7abb0b83:137b52ee014:-8000-00000000000026aa X-Powered-By: Servlet/2.5 JSP/2.1
属性名は、v1
など、そのプロトコル・バージョンの文字列表現にする必要があります。
サービス・ドメインの値の指定に使用します。サービス・ドメインの値が指定されていない場合、Defaultサービス・ドメインが使用されます。
HTTPヘッダー
リクエストのみ
-H "X-IDAAS-SERVICEDOMAIN: Default"
サンプル・リクエスト
curl -i -H "Content-Type: application/json"--request POST http://host.us.example.com:14100/oic_rest/rest/jwtauthentication/authenticate -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"profileid1", "X-Idaas-Rest-Subject-Password":"secret12", "X-Idaas-Rest-New-Token-Type-To-Create":"CLIENTTOKEN"}'-H "X-IDAAS-REST-VERSION:v1" -H "X-IDAAS-SERVICEDOMAIN: Default"
属性名は、MyMobileServiceDomain
など、そのターゲット・サービス・ドメインの文字列表現にする必要があります。
HTTPリクエスト・ヘッダー内でアプリケーションの資格証明の指定に使用します。
次の書式を使用します。
-H "X-IDAAS-REST-AUTHORIZATION:
<AuthenticationScheme-Name> <Credential Value>"
ここで、AuthenticationScheme-Nameは次のいずれかです。
HTTP Basic
UIDPassword
Token
HTTPヘッダー
リクエストのみ
-H "X-IDAAS-REST-AUTHORIZATION: Token eyJhbG56I4OTg5OTk3M...fW1VGmunfzqZ-bG4rM" -H "X-IDAAS-REST-AUTHORIZATION: Basic fn49xkOVXunF%2B5zMQUiGUlwTXPYiKw" -H "X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD cred=\"Tp8aUEeptClBz6h9cH8F%2Fwk976\""
サンプル・リクエスト
curl -i -H "Content-Type: application/json" --request POST http://host.us.example.com:14100/oic_rest/rest/jwtauthentication/authenticate -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"sampleuser", "X-Idaas-Rest-Subject-Password":"password123", "X-Idaas-Rest-New-Token-Type-To-Create":"USERTOKEN"}'-H "X-IDAAS-REST-VERSION:v1" -H "X-IDAAS-SERVICEDOMAIN: Default"-H "X-IDAAS-REST-AUTHORIZATION: Token eyJhbGciOiJSUzUxMiIsInR5cSldUQXV0aGVudGljYXR CI6IkpXVCIsImtpZCI6Im9yYWtleSJ9.eyJleHAiOjEzMzg4OTg5OTk3MzIsIzZXJ2ZXIxIiwiaXNzIjoi joiY2I2MWU5YTQtZjJmYS00ZDQzLWFlOTYtZWQ5MjZlMGQ2NDZlIiwib3JhY2xlLm9pYy50b2tlbi50eXB lIjoiQ0xJRU5UVE9LRU4iLCJpYXQiOjEzMzg4OTUzOTk3MzIsIm9yYWNsZS5vaWMudG9rZW4udXNlcl9kb iI6InVpZD1wcm9maWxlaWQxLG91PXBlb3BsZSxvdT1teXJlYWxtLGRjPWJhc2VfZG9tYWsZSxvdT1teXJl YWxtLGRjPWJhc2VfZG9tYWluIn0.kN17W0N3GEmdccm7GoUOT4iP23yWb6LloleOJ0grZkeiijXE-t8Kfy N6Jq1m8EKzdYgiKFwdb-SO9MpOVMyPgxSRER9mn_3kkcKNagl7yIgu0EJUOS3Hudy2Suv0Th5b6fDgXLIY LkBA0cC1WlP5RgW1VGmuBX7RnfzqZ-bG4rMiLCJwcm4iOiJwcm9maWxlaWQxIiwianRpI"
サービス・ドメイン構成のサービスの保護タブのユーザー・プロファイル・サービスまたは認可サービスでセキュアなアプリケーションオプションを選択する場合、クライアント・アプリケーションは、X-IDAAS-REST-AUTHORIZATIONヘッダーを使用してセキュリティ資格証明を送信する必要があります。サーバーは、3つの有効なセキュリティ・スキーム(HTTP Basic、UIDPasswordまたはトークン)のいずれかを使用して送信された資格証明を受け取ります。
HTTPリクエスト・ヘッダー内でユーザーの資格証明の指定に使用します。AUTHORIZATION
ヘッダーは、JWTAuthenticationまたはOAMAuthenticationのいずれかのトークン形式を使用していてユーザー・トークンが必要な場合に使用します。ユーザー・トークンの値は、認証サービス・プロバイダによって発行されたユーザー・トークンとする必要があります。
次の書式を使用します。
-H "AUTHORIZATION:
<User Token Value>"
HTTPヘッダー
リクエストのみ
-H "AUTHORIZATION:eyJhbGciOiJSUzUxMiIsInR5cmtpZCI6Im9g5OTk3M...sW1VGmunfzqZ-bG4rM"
サンプル・リクエスト
curl -i --request GET "http://host.us.example.com:14100/oic_rest/rest/userprofile/people/weblogic/" -H "AUTHORIZATION:eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCIsImtpZCI6Im9yYWtleSJ9.eyJleHi EzMzg4OTk3MTMxMzcsImF1ZCI6Im9hbV9zZXJ2ZXIxIiwiaXNzIjoiSldUQXV0aGVudGljYXRpb24iLCJw cm4iOiJ3ZWJsb2dpYyIsImp0aSI6IjNlMjdiZjc4LTg3NDQtNDFkMS05MzlmLTlkZGY0N2VkNGFlNyIsIm YWNsZS5vaWMudG9rZW4udHlwZSI6IlVTRVJUT0tFTiIsImlhdCI6MTMzODg5NjExMzEzNywib3JhY2xlLm 9pYy50b2tlbi51c2VyX2RuIjoidWlkPXdlYmxvZ2ljLG91PXBlb3BsZSxvdT1teXJlYWxtLGRjPWJhc2V6 ZG9tYWluIn0.hHmAa5Syw3AcqRPwIq_XLx6DcMzCBzvDXGFYvwAf9nqVgxgvLTJJfxZzofS5Ut272b0dFG sv3qakeDm2NTgg6fR2YKH5BxAHnEmq0IAmhLuyWdux_rMZNB-wP8h5JD26UQf_nnBBWApvgULeM2mWQEzY RVDMpN9K7pycNrsGKOj8U"
サービス・ドメイン構成のサービスの保護タブのユーザー・プロファイル・サービスまたは認可サービスでセキュアなユーザーオプションを選択する場合、クライアント・アプリケーションは、AUTHORIZATIONヘッダーを使用してセキュリティ資格証明を送信する必要があります。サーバーはトークンのみを受け取ります。
サブジェクトのタイプ(USERCREDENTIAL
、UID
、UIDASSERTION
またはTOKEN
)
問合せパラメータ
JSON本文
リクエストのみ
-d '{"X-Idaas-Rest-Subject-Type":"USERCREDENTIAL"}' -d '{"X-Idaas-Rest-Subject-Type":"UID"}'
-d '{"X-Idaas-Rest-Subject-Type":"UIDASSERTION"}'
サンプル・リクエスト1
curl -H "Content-Type: application/json" --request GET "http://host .us.example.com:14100/oic_rest/rest/jwtauthentication/validate? X-Idaas-Rest-Subject-Value=eyJhbGciOiJSUzU...I_A0PM& X-Idaas-Rest-Subject-Type=TOKEN"
サンプル・リクエスト2
curl -i -H "Content-Type: application/json" --request POST http://host .us.example.com:14100/oic_rest/rest/jwtauthentication/authenticate -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"profileid1", "X-Idaas-Rest-Subject-Password":"secret12345", "X-Idaas-Rest-New-Token-Type-To-Create":"CLIENTTOKEN"}'
属性値は次のいずれかにする必要があります。
USERCREDENTIAL
UID
UIDASSERTION
TOKEN
サブジェクトの文字列値。この属性は、X-Idaas-Rest-Subject-Type
の値がTOKEN
、UID
またはUIDASSERTION
の場合に追加します。
問合せパラメータ
JSON本文
リクエストのみ
サンプル・リクエスト1
curl -H "Content-Type: application/json" --request GET "http://host.example.com:14100/oic_rest/rest/jwtauthentication/validate? X-Idaas-Rest-Subject-Value~=eyJhbGciOiJSUzU...PM& X-Idaas-Rest-Subject-Type~=TOKEN"
サンプル・リクエスト2
curl -H "Content-Type: application/json" --request POST http://localhost:18001/oic_rest/rest/jwtauthentication/access -d '{ "X-Idaas-Rest-Subject-Type":"TOKEN", "X-Idaas-Rest-Subject-Value":"vTBI8jN...%3D", "X-Idaas-Rest-Application-Context":"75sSbBZZKJiUOAWikZxsKA==", "X-Idaas-Rest-Application-Resource":"http:/host.example.com:7779/index.html", "X-Idaas-Rest-New-Token-Type-To-Create":"ACCESSTOKEN"}'
サブジェクト・タイプがTOKEN
の場合、ヘッダーにサブジェクト・タイプと文字列値の両方を指定するために使用します。
HTTPヘッダー
リクエストのみ
サンプル・リクエスト
curl -H "Content-Type: application/json" --request GET http://host.example.com:14100/oic_rest/rest/jwtauthentication/validate -H "X-Idaas-Rest-Subject: TOKEN eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCIsImtpZCI6Im9yYWtl eSJ9.eyJleHAiOjEzMzg5MDEzMzUyMjUsImF1ZCI6Im9hbV9zZXJ2ZXIxIiwiaXNzIjoiSldUQXV0aGVu dGljYXRpb24iLCJwcm4iOiJ3ZWJsb2dpYyIsImp0aSI6ImUzNDZiYjJiLTQyZmYtNGRjMC1hOTZkLWYyY 2U5MjM0NTM0YSIsIm9yYWNsZS5vaWMudG9rZW4udHlwZSI6IlVTRVJUT0tFTiIsImlhdCI6MTMzODg5Nz czNTIyNSwib3JhY2xlLm9pYy50b2tlbi51c2VyX2RuIjoidWlkPXdlYmxvZ2ljLG91PXBlb3BsZSxvdT1 teXJlYWxtLGRjPWJhc2VfZG9tYWluIn0.GZ3-X4NRGdQ99MB63B5MmPuyE5M2kFwqHMQ97AXwBjYElMep ZdziTEgDeYLKJuVB83plSGwpfQEDdzlxR3Sy7tRXbfV3EdK1lpbUyUyEEIwAfuu4xtbNERKrPw3pJoPtU q0TCd0BV2sRdyy1zuSBdU2J6zUjG8rW-PYDWI_A0PM"
X-Idaas-Rest-Subject-Type
の値がUSERCREDENTIAL
の場合のみ、文字列としてユーザー名を指定するために使用します。
JSON本文
リクエストのみ
サンプル・リクエスト
curl -i -H "Content-Type: application/json" --request POST http://host.example.com:14100/oic_rest/rest/jwtauthentication/authenticate -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"sampleuser", "X-Idaas-Rest-Subject-Password":"password123", "X-Idaas-Rest-New-Token-Type-To-Create":"USERTOKEN"}'
X-Idaas-Rest-Subject-Type
の値がUSERCREDENTIAL
の場合のみ、文字列としてパスワードを指定するために使用します。
JSON本文
リクエストのみ
サンプル・リクエスト
curl -i -H "Content-Type: application/json" --request POST http://host.example.com:14100/oic_rest/rest/jwtauthentication/authenticate -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"sampleuser", "X-Idaas-Rest-Subject-Password":"password123", "X-Idaas-Rest-New-Token-Type-To-Create":"USERTOKEN"}'
作成するトークン・タイプを指定するために使用します。1つのリクエストで複数のトークン・タイプを指定できます。
JSON本文
リクエストのみ
サンプル・リクエスト
curl -i -H "Content-Type: application/json" --request POST http://host.example.com:14100/oic_rest/rest/jwtauthentication/authenticate -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"sampleuser", "X-Idaas-Rest-Subject-Password":"password123", "X-Idaas-Rest-New-Token-Type-To-Create":"USERTOKEN"}'
属性値は次のいずれかにする必要があります。
CLIENTREGHANDLE
CLIENTTOKEN
USERTOKEN
USERTOKEN::OAMMT
ACCESSTOKEN
アクセス・トークンが必要なアプリケーション・コンテキストを指定するために使用します。指定する値は文字列とする必要があります。
JSON本文
リクエストのみ
サンプル・リクエスト1
curl -H "Content-Type: application/json" --request POST http://localhost:18001/oic_rest/rest/jwtauthentication/access -d '{ "X-Idaas-Rest-Subject-Type":"TOKEN", "X-Idaas-Rest-Subject-Value":"vTBI8jN8eYIsfAp%2BZqe...GkiaHv7TjAGZ5XFSQk5A%3D%3D", "X-Idaas-Rest-Application-Context":"75sSbBZZKJiUOAWikZxsKA==", "X-Idaas-Rest-Application-Resource":"http://somehost.example.com:7779/index.html", "X-Idaas-Rest-New-Token-Type-To-Create":"ACCESSTOKEN"}'
アクセス・トークンが必要なターゲット・リソースを指定するために使用します。指定する値は文字列とする必要があります。
JSON本文
リクエストのみ
サンプル・リクエスト1
curl -H "Content-Type: application/json" --request POST http://localhost:18001/oic_rest/rest/jwtauthentication/access-d '{ "X-Idaas-Rest-Subject-Type":"TOKEN", "X-Idaas-Rest-Subject-Value":"vTBI8jN8eYIsfAp%2BZqe...GkiaHv7TjAGZ5XFSQk5A%3D%3D", "X-Idaas-Rest-Application-Context":"75sSbBZZKJiUOAWikZxsKA==", "X-Idaas-Rest-Application-Resource":"http://somehost.example.com:7779/index.html", "X-Idaas-Rest-New-Token-Type-To-Create":"ACCESSTOKEN"}'
プリンシパル・ユーザーを返すために使用します。
JSON本文
レスポンスのみ
サンプル・レスポンス
HTTP/1.1 200 OK Date: Tue, 05 Jun 2012 11:35:13 GMT Transfer-Encoding: Content-Type: application/json X-IDAAS-REST-VERSION: v1 Set-Cookie: JSESSIONID= TCjjPNnRvL6fvhJpMSjLhHYrFyMKqwcFxTNL1RQzyvkSJ7G2TLj4!1574236250; path=/; HttpOnly X-ORACLE-DMS-ECID: a393487d2600b00c:-7abb0b83:137b52ee014: -8000-00000000000026f5 X-Powered-By: Servlet/2.5 JSP/2.1 { "X-Idaas-Rest-Token-Value":"eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCIsImtpZCI6Im9yYWtle SJ9.eyJleHAiOjEzMzg4OTk3MTMxMzcsImF1ZCI6Im9hbV9zZXJ2ZXIxIiwiaXNzIjoiSldUQXV0aGVud GljYXRpb24iLCJwcm4iOiJ3ZWJsb2dpYyIsImp0aSI6IjNlMjdiZjc4LTg3NDQtNDFkMS05MzlmLTlkZG d0N2VkNGFlNyIsIm9yYWNsZS5vaWMudG9rZW4udHlwZSI6IlVTRVJUT0tFTiIsImlhdCI6MTMzODg5NjE xMzEzNywib3JhY2xlLm9pYy50b2tlbi51c2VyX2RuIjoidWlkPXdlYmxvZ2ljLG91PXBlb3BsZSxvdT1t eXJlYWxtLGRjPWJhc2VfZG9tYWluIn0.hHmAa5Syw3AcqRPwIqXLx6DcMzCBzvDXGFYvwAf9nqVgxgvLT JfxZzofS5Ut272b0dFGsv3qakeDm2NTgg6fR2YKH5BxAHnEmq0IAmhLuyWdux_rMZNB-wP8h5JD26UQf nnBBWApvgULeM2mWQEzYRVDMpN9K7pycNrsGK8U", "X-Idaas-Rest-User-Principal":"jdoe", "X-Idaas-Rest-Provider-Type":"JWT", "X-Idaas-Rest-Token-Type":"USERTOKEN" }
トークン・プロバイダのタイプを返すために使用します。有効な値は、OAM_10G
、OAM_11G
およびJWT
です。
JSON本文
レスポンス
サンプル・レスポンス
HTTP/1.1 200 OK Date: Tue, 05 Jun 2012 11:35:13 GMT Transfer-Encoding: chunked Content-Type: application/json X-IDAAS-REST-VERSION: v1 Set-Cookie:JSESSIONID=TCjjPNnRvL6fvhJpMSjLhHYrFyMKqwcFxTNL1RQzyvkSJ7G2TLj4!157423; path=/; HttpOnly X-ORACLE-DMS-ECID: a393487d2600b00c:-7abb0b83:137b52ee014:-8000-00000000000026f5 X-Powered-By: Servlet/2.5 JSP/2.1 { "X-Idaas-Rest-Token-Value":"eyJhbGciOiJSUzUxMiIsInR 5cCI6IkpXVCIsImtpZCI6Im9yYWtleSJ9.eyJleHAiOjEzMzg4OTk3MTMxMzcsImF1ZCI6Im9hbV9 zZXJ2ZXIxIiwiaXNzIjoiSldUQXV0aGVudGljYXRpb24iLCJwcm4iOiJ3ZWJsb2dpYyIsImp0aSI6IjN lMjdiZjc4LTg3NDQtNDFkMS05MzlmLTlkZGY0N2VkNGFlNyIsIm9yYWNsZS5vaWMudG9rZW4 udHlwZSI6IlVTRVJUT0tFTiIsImlhdCI6MTMzODg5NjExMzEzNywib3JhY2xlLm9pYy50b2tlbi51c2 VyX2RuIjoidWlkPXdlYmxvZ2ljLG91PXBlb3BsZSxvdT1teXJlYWxtLGRjPWJhc2VfZG9tYWluIn0.h HmAa5Syw3AcqRPwIq_XLx6DcMzCBzvDXGFYvwAf9nqVgxgvLTJJfxZzofS5Ut272b0dFGsv3q akeDm2NTgg6fR2YKH5BxAHnEmq0IAmhLuyWdux_rMZNB-wP8h5JD26UQf_nnBBWApvgULeM 2mWQEzYRVDMpN9K7pycNrsGK8U", "X-Idaas-Rest-User-Principal":"weblogic", "X-Idaas-Rest-Provider-Type":"JWT", "X-Idaas-Rest-Token-Type":"USERTOKEN" }
この項の認可スキームは、Mobile and SocialのRESTサービスの保護に使用されます。
次のコールについて説明します。
UIDPASSWORD認証に必要なRESTコールの送信方法を示します。
curl --request GET "localhost:18001/idaas_rest/rest/authorizationservice3/authorization? resource=http://is-x86-05.us.example.com:7779/index.html& action=GET&X-Idaas-Rest-Subject-Value= ZNsJcMMM3ow83Zr5D8KqCPnhBGmui4RnBvUXJ5dqC7OfwZIv6FDcYWwfPuHupxN%2B fs5qN0I6AWIZBX%2F2KQNNQ5bPDN1XqeE8y7OPPoy4znteEfCaRHb7UA1ia1ox%2BW8 5LbknXCLaZ5q%2FN4I0IcXP%2B13FGX9r9LROQ3OZZVNMLhfx3KabZcIVmSHBkK%2F ARGYEJQv6RO%2FPCMN2YYTJgWxGr20rWeG8NLbzgN%2FPyADxxlPLvkxH2YCVHHH 7bLBfOp3p83IbJ%2FC%2Bm9sCd4YjlSlhsMUXKtvZ1LnJME4UymuR5tXuw2B0Yr25OHxU bMreIGgRYZXFonmjhAovKhXqIgzpIg%3D%3D& X-Idaas-Rest-Subject-Type=TOKEN" -H "X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD cred=\" Tp8aUEeptClBz6A6h9cH8F%2FwcZJvLok976\"" -H "Authorization: gdX4z0leySgt0DiPeItsQfBweYZIfZ2dm7fVypNz%2Bf6pbrzF7P4 AvUzPXIzLf2lL0zHuvNI%2B77OsUESM99U6zQjytC%2FgrAD6O2QdSe2VUNGjjw8Di5ev1 gSI0m5a5VQO9rmGNlB1xndnPYoaX0nDpi3eGAyQNw3PUAbEGYglsDMR1js2jsiXKyexryn 8k1coc3EHGqk%2ByqfEXzfzGjwEB4ipnSGg2c4a9BX2BKjKLoOD0PdNVc2nf6f%2F7T2Ck hA%2BSFowwE%2BEIzvQ7cVbeRYqco2eYCJhs8GS8Haq9T2dnhIAa4tux9MyxVLRNRtDd q39HDr5hvUI7OpHQHNUMeRcPQ%3D%3D"
{ "Allowed":"true" }
リクエストにおいて、サービス・ドメインの値の指定には、X-IDAAS-SERVICEDOMAIN
ヘッダー名を使用します。X-IDAAS-SERVICEDOMAIN
名は、問合せパラメータまたはヘッダーとして使用できます。サービス・ドメインの値が指定されていない場合、Defaultサービス・ドメインが使用されます。
HTTP Basic認可に必要なRESTコールの送信方法を示します。
curl --request GET "localhost:18001/idaas_rest/rest/authorizationservice3/authorization? resource=http://is-x86-05.us.example.com:7779/index.html &action=GET& X-Idaas-Rest-Subject-Value= ZNsJcMMM3ow83Zr5D8KqCPnhBGmui4RnBvUXJ5dqC7OfwZIv6FDcYWwfPuHupxN%2Bfs5 qN0I6AWIZBX%2F2KQNNQ5bPDN1XqeE8y7OPPoy4znteEfCaRHb7UA1ia1ox%2BW85Lbkn XCLaZ5q%2FN4I0IcXP%2B13FGX9r9LROQ3OZZVNMLhfx3KabZcIVmSHBkK%2FARGYEJ Qv6RO%2FPCMN2YYTJgWxGr20rWeG8NLbzgN%2FPyADxxlPLvkxH2YCVHHH7bLBfOp3p 83IbJ%2FC%2Bm9sCd4YjlSlhsMUXKtvZ1LnJME4UymuR5tXuw2B0Yr25OHxUbMreIGgRYZ XFonmjhAovKhXqIgzpIg%3D%3D& X-Idaas-Rest-Subject-Type=TOKEN" -H "X-IDAAS-REST-AUTHORIZATION: Basic Tp8aUEeptClBz6A6h9cH8F%2FwcZJvLok976" -H "Authorization: TOKEN gdX4z0leySgt0DiPeItsQfBweYZIfZ2dm7fVypNz%2Bf6pbrzF7P4A vUzPXIzLf2lL0zHuvNI%2B77OsUESM99U6zQjytC%2FgrAD6O2QdSe2VUNGjjw8Di5ev1gS I0m5a5VQO9rmGNlB1xndnPYoaX0nDpi3eGAyQNw3PUAbEGYglsDMR1js2jsiXKyexryn8k1 coc3EHGqk%2ByqfEXzfzGjwEB4ipnSGg2c4a9BX2BKjKLoOD0PdNVc2nf6f%2F7T2CkhA%2B SFowwE%2BEIzvQ7cVbeRYqco2eYCJhs8GS8Haq9T2dnhIAa4tux9MyxVLRNRtDdq39HDr5hv UI7OpHQHNUMeRcPQ%3D%3D"
{ "Allowed":"true" }
規定名は、X-IDAAS-CONTRACT
の名前の問合せパラメータまたはヘッダーとして指定できます。指定されていない場合、Mobile and Socialはその規定をデフォルトの規定とみなします。
HTTPBasicは、ここで示すように、クライアント定義に暗号化パスワードのあるクライアントに対して構成する必要があります。
<IdaasClient description="OIC Client 1" name="clientid1"> <authnService>sampletokenservice</authnService> <param> <name>userId4BasicAuth</name> <value>rest_client1</value> </param> <param> <name>sharedSecret4BasicAuth</name> <value>9Qo9olLIl5gDwESYR0hOgw==</value> </param> </IdaasClient>
Access Manager認可に必要なRESTコールの送信方法を示します。
curl --request GET "localhost:18001/idaas_rest/rest/authorizationservice3/authorization? resource=http://is-x86-05.us.example.com:7779/index.html &action=GET& X-Idaas-Rest-Subject-Value=ZNsJcMMM3ow83Zr5D8KqCPnhBGmui4RnBvUXJ5dqC7OfwZIv6 FDcYWwfPuHupxN%2Bfs5qN0I6AWIZBX%2F2KQNNQ5bPDN1XqeE8y7OPPoy4znteEfCaRHb 7UA1ia1ox%2BW85LbknXCLaZ5q%2FN4I0IcXP%2B13FGX9r9LROQ3OZZVNMLhfx3KabZcIV mSHBkK%2FARGYEJQv6RO%2FPCMN2YYTJgWxGr20rWeG8NLbzgN%2FPyADxxlPLvkxH2 YCVHHH7bLBfOp3p83IbJ%2FC%2Bm9sCd4YjlSlhsMUXKtvZ1LnJME4UymuR5tXuw2B0Yr25 OHxUbMreIGgRYZXFonmjhAovKhXqIgzpIg%3D%3D &X-Idaas-Rest-Subject-Type=TOKEN" -H "X-IDAAS-REST-AUTHORIZATION: TOKEN Tp8aUEeptClBz6A6h9cH8F%2FwcZJvLok976 c5q0SitrrgSCJ5FQk58KMtUg2FCPLbjZbP2%2B3P5zZPiSCeHwNua%2FBHdIDCOnUYOXNg 4uBKA7t7O4jGRfn49xkOVXunF%2B5zMQUiGUlwTXPYiKwooAknkeHs3HIq6s2if%2FHpuPH curRa%2BdyfjWfYWTpqPeo%2FzyHHzDH1wF8hM6k6YwJ%2FpxD8avuXogP%2Bp5j2tCZ0 aAhonseNMcKvGTRBoV1shGnotK9gt01nDgc2LWA5oidJgxlcaWDw3%2FXZhvgudkLwl0jxEw 0K%2BzffyeZs0gfUkZJBnsm8qh2KP%2BiCPzT7HPVPF%2FyYCg%3D%3D" -H "Authorization: TOKEN gdX4z0leySgt0DiPeItsQfBweYZIfZ2dm7fVypNz%2Bf6pbrzF7P4AvU zPXIzLf2lL0zHuvNI%2B77OsUESM99U6zQjytC%2FgrAD6O2QdSe2VUNGjjw8Di5ev1gSI0m5 a5VQO9rmGNlB1xndnPYoaX0nDpi3eGAyQNw3PUAbEGYglsDMR1js2jsiXKyexryn8k1coc3EH Gqk%2ByqfEXzfzGjwEB4ipnSGg2c4a9BX2BKjKLoOD0PdNVc2nf6f%2F7T2CkhA%2BSFowwE %2BEIzvQ7cVbeRYqco2eYCJhs8GS8Haq9T2dnhIAa4tux9MyxVLRNRtDdq39HDr5hvUI7OpHQ HNUMeRcPQ%3D%3D"
{ "Allowed":"true" }
規定名は、X-IDAAS-CONTRACT
の名前の問合せパラメータまたはヘッダーとして指定できます。指定されていない場合、Mobile and Socialはその規定をデフォルトの規定とみなします。
クライアントは、次のように、リクエストのトークンを検証できるトークン・サービス名で定義する必要があります。
<IdaasClient description="OIC Client 5" name="clientid5"> <authnService>oamsdktokenservice</authnService> </IdaasClient>
この項のcURLコマンドは、Mobile and Socialサーバーからセキュリティ・トークンをリクエストするために使用するRESTコールを示します。一部のRESTコールはPOSTメソッドを使用しますが、その他はGETを使用します。
次のコールについて説明します。
クライアント・トークンをリクエストするRESTコールを送信する方法を示します。
curl -H "Content-Type: application/json" --request POST http://localhost:18001/idaas_rest/rest/tokenservice1/tokens -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"client1", "X-Idaas-Rest-Subject-Password":"secret12", "X-Idaas-Rest-New-Token-Type-To-Create":"CLIENTTOKEN"}'
{"X-Idaas-Rest-Token-Value":"kubExOtDjCtL5Q0R1QhAgL5zNVmDFYKG1Y0AUe+P9HKvnz4gIDVx YIMNxxyfJJpmkT5XtYKkDgW295juWEcK7c7LmPBkxE6MytcfvKh4HzWIUGEgS2uKej3PQJG49RpZ6UxAP ZbGYWj7fpjZoqBhtPiCtyacI0C22bl2/DbbRCVx4341z68j5YiTgOklGC6lIucSorlM7pBI54bxygFZsr F1DVKxL+RNhrobYsN6I7fFLR4fL+iO/BZcbwM/4SNDuCIC82eOxPI/mTcRraz0cLw9tcLbw7c11MjC2eu EBSGUjGcNmxpbhiJIt7SIBzJczzNsaBnH+2fKx/VTeVVvGQgGAf19e5b1Drj5QyNhj2I=", "X-Idaas-Rest-Token-Type":"CLIENTTOKEN", "X-Idaas-Rest-User-Principal":"client-1", "X-Idaas-Rest-Provider-Type":"OAM_11G"}
規定名は、X-IDAAS-CONTRACT
の名前の問合せパラメータまたはヘッダーとして指定できます。指定されていない場合、Mobile and Socialはその規定をデフォルトの規定とみなします。
ユーザー・トークンをリクエストするRESTコールを送信する方法を示します。
curl -H "Content-Type: application/json" --request POST http://localhost:18001/idaas_rest/rest/tokenservice1/tokens -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"tester1", "X-Idaas-Rest-Subject-Password":"secret12", "X-Idaas-Rest-New-Token-Type-To-Create":"USERTOKEN"}'
{"X-Idaas-Rest-Token-Value":"adc3bfbExOtDjCtL5Q0R1QhAgL5zNVmDFYKG1Y0AUe+P9HKvnz4g IDVxYIMNxxyfJJpmkT5XtYKkDgW295juWEcK7c7LmPBkxE6MytcfvKh4HzWIUGEgS2uKej3PQJG49RpZ6 UxAPZbGYWj7fpjZoqBhtPiCtyacI0C22bl2/DbbRCVx4341z68j5YiTgOklGC6lIucSorlM7pBI54bxyg FZsrF1DVKxL+RNhrobYsN6I7fFLR4fL+iO/BZcbwM/4SNDuCIC82eOxPI/mTcRraz0cLw9tcLbw7c11Mj C2euEBSGUjGcNmxpbhiJIt7SIBzJczzNsaBnH+2fKx/VTeVVvGQgGAf19e5b1Drj5QyNhj2I=", "X-Idaas-Rest-Token-Type":"USERTOKEN", "X-Idaas-Rest-User-Principal":"user-1", "X-Idaas-Rest-Provider-Type":"OAM_11G"}
規定名は、X-IDAAS-CONTRACT
の名前の問合せパラメータまたはヘッダーとして指定できます。指定されていない場合、Mobile and Socialはその規定をデフォルトの規定とみなします。
アクセス・トークンをリクエストするRESTコールを送信する方法を示します。
curl -H "Content-Type: application/json" --request POST http://localhost:18001/idaas_rest/rest/tokenservice1/tokens -d '{ "X-Idaas-Rest-Subject-Type":"TOKEN", "X-Idaas-Rest-Subject-Value": "vTBI8jN8eYsmHCUzC4kITJ8xnv0WCcGaETq5OEco9lErOzn13EZIUpyKk4 xucZ9lfbe1b367GuCwPUceldPs8v8W4JtSWJO0IKhBc0o4EaBh4jZlRDcd9y mNEbh%2BrdaG2rJ0%2BGFGglqe%2BNg0JUBVoKemdoe%2BylkQLj9RT4 yV%2FxOtI7eeXdIOtKD%2BURIIAp%2BZqeDmYHX%2BeTJqOi9dvhUv8b5 AniFPTX3xaO5%2Fovs8250aojYyz465Td0ZmchMyTn%2BSwSPoD81GEiV MddlapJnred%2BVdStBv%2FHsawIgErLLsCNjlidd90z%2FDVGy31XSOuz3 GkwmE0BoM%2BSiAGZ5XFSQA%3D%3D", "X-Idaas-Rest-Application-Context":"75sSbBZZKJiUOAWikZxsKA==", "X-Idaas-Rest-Application-Resource":"http:/wengate123.us.example.com:7779/index.html", "X-Idaas-Rest-New-Token-Type-To-Create":"ACCESSTOKEN"}'
{"X-Idaas-Rest-Token-Value":"R1QhAgL5zNVmDFYKG1Y0AUe+P9HKvnz4gIDVxYIMNxxyfJJpmkT5 XtYKkDgW295juWEcK7c7LmPBkxE6MytcfvKh4HzWIUGEgS2uKej3PQJG49RpZ6UxAPZbGYWj7fpjZoqBh tPiCtyacI0C22bl2/DbbRCVx4341z68j5YiTgOklGC6lIucSorlM7pBI54bxygFZsrF1DVKxL+RNhrobY sN6I7fFLR4fL+iO/BZcbwM/4SNDuCIC82eOxPI/mTcRraz0cLw9tcLbw7c11MjC2euEBSGUjGcNmxpbhi JIt7SIBzJczzNsaBnH+2fKx/VTeVVvGQgGAf19e5b1Drj5QyNhj2I=", "X-Idaas-Rest-Token-Type":"ACCESSTOKEN", "X-Idaas-Rest-User-Principal":"user-1", "X-Idaas-Rest-Provider-Type":"OAM_11G"}
規定名は、X-IDAAS-CONTRACT
の名前の問合せパラメータまたはヘッダーとして指定できます。指定されていない場合、Mobile and Socialはその規定をデフォルトの規定とみなします。
クライアント・トークンをリクエスト(取得)するために必要なRESTコールを送信する方法を示します。
curl --request GET http://localhost:18001/idaas_rest/
rest/mobilesecret1/tokens/info -H "X-Idaas-Rest-Subject: TOKEN someTokenValue"
{"X-Idaas-Rest-Token-Value":"QA8wjxWGSf3VMggfxFFYW4Yrre0DuG7hOagET4yfF3PX bbUUsgh7uJUOEX5aZAQPsrV90J20gtALfhiUI32gbxooeqppGnQSLnk0ehpN4%2B6%2BCgR2nOMrYzoLi U7%2FvrnoG7894eUfxHwmvZESQw4w4ez6L%2BOcaHF2tc05F4zkqi6%2BveSL4uFdiaMh9pJ2k%2BXF%2 FWn2Q8IfOWBdk2IzWeFhwi35CzMLJrNiAST%2BdMWhteIKcNEFbvS1WFaYR8Fjzx%2FpuU3%2FdTaG2gX xDJxE%2BpI2bpanks4fdZwaFmkLCraUfJFdtiGgOk2SIVIwi4UYCBAbM9XZJ5nyjtmxpqEESKJSGQ%3D% 3D", "X-Idaas-Rest-Token-Type":"USERTOKEN", "X-Idaas-Rest-User-Principal":"testuser", "X-Idaas-Rest-Provider-Type":"JWT" }
規定名は、X-IDAAS-CONTRACT
の名前の問合せパラメータまたはヘッダーとして指定できます。指定されていない場合、Mobile and Socialはその規定をデフォルトの規定とみなします。
クライアント・トークンをリクエストするために必要なRESTコールを送信する方法を示します。
curl --request GET "localhost:18001/idaas_rest/ rest/authorizationservice1/authorization? resource=http://webgate123.us.example.com:7779/index.html& action=GET&X-Idaas-Rest-Subject-Value= ZNsJcMMM3ow83Zr5D8KqCPnhBGmui4RnBvUXJ5dqC7OfwZIv6FDcYWwf PuHupxN%2Bfs5qN0I6AWIZBX%2F2KQNNQ5bPDN1XqeE8y7OPPoy4znte EfCaRHb7UA1ia1ox%2BW85LbknXCLaZ5q%2FN4I0IcXP%2B13FGX9r9LR OQ3OZZVNMLhfx3KabZcIVmSHBkK%2FARGYEJQv6RO%2FPCMN2YYTJ gWxGr20rWeG8NLbzgN%2FPyADxxlPLvkxH2YCVHHH7bLBfOp3p83IbJ%2 FC%2Bm9sCd4YjlSlhsMUXKtvZ1LnJME4UymuR5tXuw2B0Yr25OHxUbMreI GgRYZXFonmjhAovKhXqIgzpIg%3D%3D& X-Idaas-Rest-Subject-Type=TOKEN"
{ "Allowed":"true" }
規定名は、X-IDAAS-CONTRACT
の名前の問合せパラメータまたはヘッダーとして指定できます。指定されていない場合、Mobile and Socialはその規定をデフォルトの規定とみなします。
この項のcURLコマンドは、クライアント、ユーザーおよびアクセス・トークンをリクエストし、クライアント登録ハンドルを作成するために、モバイル・シングル・サインオン・エージェントがMobile and Socialサーバーに送信するRESTコールを示します。
次のコールについて説明します。
モバイル・シングル・サインオン・クライアント・アプリケーションのためのクライアント登録ハンドルの作成(ユーザー名のシナリオ)
モバイル・シングル・サインオン・クライアント・アプリケーションのためのクライアント登録ハンドルの作成(ユーザー・トークンのシナリオ)
ユーザー名およびパスワードに基づいて、モバイル・シングル・サインオン(SSO)エージェント・アプリケーションのためのクライアント登録ハンドルを作成する方法を示します。この例で、モバイル・シングル・サインオン・エージェント・アプリケーションの名前はMobileAgent1です。
curl -H "Content-Type: application/json" --request POST http://localhost:18001/idaas_rest/rest/mobilejwtauthentication/register -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"theUserName", "X-Idaas-Rest-Subject-Password":"thePassword", "X-Idaas-Rest-New-Token-Type-To-Create":"CLIENTREGHANDLE", "deviceProfile" : { ... }, "clientId": "MobileAgent1" }'
{"X-Idaas-Rest-Token-Value":"eyJ0b2tl...", "X-Idaas-Rest-Token-Type":"CLIENTREGHANDLE", handles : { "oaam.session" : { ... } , "oaam.device" : { ... } } }
CLIENTREGHANDLE
の値は、表示上の都合で短縮されています。
ユーザー名とパスワード(この例ではtheUserNameとthePassword)は、そのデバイスに対して認可された認証済ユーザーを表すセキュリティ資格証明です。
この例は、モバイル・シングル・サインオン・エージェントがユーザー名とパスワードを使用してどのようにモバイル・ビジネス・アプリケーション(クライアント・アプリケーション)のクライアント登録ハンドルを作成するのかを示しています。この例で、リクエストはMobileExpenseReport1というモバイル・ビジネス・アプリケーションで生成されています。
curl -H "Content-Type: application/json" --request POST http://localhost:18001/idaas_rest/rest/mobilejwtauthentication/register -H "X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD ..." -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"theUserName", "X-Idaas-Rest-Subject-Password":"thePassword", "X-Idaas-Rest-New-Token-Type-To-Create":"CLIENTREGHANDLE", "deviceProfile" : { ... }, handles : { "oaam.session" : "...", "oaam.device" : "..." }, "clientId": "MobileExpenseReport1" } '
{"X-Idaas-Rest-Token-Value":"ey...", "X-Idaas-Rest-Token-Type":"CLIENTREGHANDLE", handles : { "oaam.session" : { ... } , "oaam.device" : { ... } } }
CLIENTREGHANDLE
およびその他のトークンの値は、表示上の都合で短縮されています。
clientId
がモバイルSSOエージェントではない場合(MobileExpenseReport1
など)、コール元は、モバイル・エージェントに対して以前取得したクライアント登録ハンドルを含むヘッダーを、HTTPリクエストに追加する必要があります(例: -H "X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD
....")。
この例は前の例に似ています。ただし、ユーザー名とパスワードのかわりにユーザー・トークンが送信されます。ユーザー・トークンは、認証済ユーザーがそのデバイスを認可したことを表すセキュリティ資格証明です。前の例と同様、リクエストはMobileExpenseReport1というモバイル・ビジネス・アプリケーションで生成されています。
curl -H "Content-Type: application/json" --request POST http://localhost:18001/idaas_rest/rest/mobilejwtauthentication/register -H "X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD ..." -d '{ "X-Idaas-Rest-Subject-Type":"TOKEN", "X-Idaas-Rest-Subject-Value":"ey...", "X-Idaas-Rest-New-Token-Type-To-Create":"CLIENTREGHANDLE", "deviceProfile" : { ... }, handles : { "oaam.session" : "...", "oaam.device" : "..." }, "clientId": "MobileExpenseReport1" } '
{"X-Idaas-Rest-Token-Value":"ey...", "X-Idaas-Rest-Token-Type":"CLIENTREGHANDLE", handles : { "oaam.session" : { ... } , "oaam.device" : { ... } } }
CLIENTREGHANDLE
およびその他のトークンの値は、表示上の都合で短縮されています。
クライアント・アプリケーションを登録する際、該当するモバイル・エージェントのクライアント・アプリケーション・プロファイルでMobile.reauthnForRegNewClientApp
構成値がfalse
に設定されている場合、ユーザー・トークンは単にユーザー登録を表します。
HTTPヘッダーX-IDAAS-REST-AUTHORIZATION
には、モバイル・エージェント・アプリケーション(MobileAgent1など)のクライアント登録ハンドルを含むUIDPASSWORD
スキーム値があります。
この例は、ユーザー・トークンの作成をリクエストするために、モバイル・シングル・サインオン・エージェントがMobile and Socialサーバーに送信するRESTコールを示しています。
curl -H "Content-Type: application/json" --request POST http://localhost:18001/idaas_rest/rest/mobilejwtauthentication/authenticate -H 'X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD cred="..." ' -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"theUserName", "X-Idaas-Rest-Subject-Password":"thePassword", "X-Idaas-Rest-New-Token-Type-To-Create":"USERTOKEN", "handles" : { ... }, "deviceProfile" : { ... } }'
{"X-Idaas-Rest-Token-Value":"ey...", "X-Idaas-Rest-Token-Type":"USERTOKEN", handles : { "oaam.session" : { ... } , "oaam.device" : { ... } } }
トークンの値は、表示上の都合で短縮されています。
SSOエージェント・アプリケーション(MobileAgent1など)は、ユーザー名とパスワードを使用してユーザー・トークンをリクエストします。
HTTPヘッダーX-IDAAS-REST-AUTHORIZATION
には、SSOエージェント・アプリケーション(MobileAgent1)のクライアント登録ハンドルを含むUIDPASSWORD
スキーム値があります。
この例は、モバイル・ビジネス・アプリケーションのかわりのモバイルSSOエージェントによるアクセス・トークンのリクエストを示しています。モバイルSSOエージェントの名前はMobileAgent1、ビジネス・アプリケーションの名前はMobileExpenseReport1です。
モバイルOAMAuthenticationの例
curl -H "Content-Type: application/json" -H 'X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD cred="..." ' -H 'X-IDAAS-REST-AGENT-AUTHORIZATION: UIDPASSWORD cred="..." ' --request POST http://localhost:18001/idaas_rest/rest/mobileoamauthentication/access -d '{ "X-Idaas-Rest-Subject-Type":"TOKEN", "X-Idaas-Rest-Subject-Value":"... USER TOKEN VALUE...", "X-Idaas-Rest-Application-Context":"75sSbBZZKJiUOAWikZxsKA==", "X-Idaas-Rest-Application-Resource": "http:/wengate123.us.example.com:7779/index.html", "X-Idaas-Rest-New-Token-Type-To-Create":"ACCESSTOKEN", "handles" : { ... }, "deviceProfile" : { ... } }'
モバイルJWTAuthenticationの例
curl -H "Content-Type: application/json" -H 'X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD cred="..." ' -H 'X-IDAAS-REST-AGENT-AUTHORIZATION: UIDPASSWORD cred="..." ' --request POST http://localhost:18001/idaas_rest/rest/mobilejwtauthentication/access -d '{ "X-Idaas-Rest-Subject-Type":"TOKEN", "X-Idaas-Rest-Subject-Value":"... USER TOKEN VALUE ...", "X-Idaas-Rest-Application-Resource":"...", "X-Idaas-Rest-New-Token-Type-To-Create":"ACCESSTOKEN", "handles" : { ... }, "deviceProfile" : { ... } }'
{"X-Idaas-Rest-Token-Value":"...", "X-Idaas-Rest-Token-Type":"ACCESSTOKEN", handles : { "oaam.session" : { ... } , "oaam.device" : { ... } } }
このHTTPリクエストには2つのヘッダーがあります。1つ目にはSSOエージェント・アプリケーションのクライアント登録ハンドルが含まれ、2つ目にはビジネス・アプリケーションのクライアント登録ハンドルが含まれています。
ヘッダーX-IDAAS-REST-AGENT-AUTHORIZATION
には、SSOエージェント・アプリケーション(MobileAgent1)のクライアント登録ハンドルが含まれています。
ヘッダーX-IDAAS-REST-AUTHORIZATION
には、ビジネス・アプリケーション(MobileExpenseReport1)のクライアント登録ハンドルが含まれています。
Mobile and Socialサーバー・コンポーネント(特にモバイル・サービス・コンポーネント)は、両方のハンドルの有効性を検証します。これにより、両方のアプリケーションがターゲット・サービス・ドメインに確実にリストされます。基礎となるトークン・サービスまたは認証サービスは、ユーザー・トークンの値の有効性の検証時にアクセス・トークンを提供します。Access Managerの場合、X-Idaas-Rest-Application-Resource
フィールドにより、特定のWebGateで保護されたリソースが参照されます。Access Managerアプリケーション・コンテキストに該当するX-Idaas-RESt-Application-Context
フィールドもあります。
トークンの値は、表示上の都合で短縮されています。
この例は、モバイルSSOエージェントによる独自に使用するアクセス・トークンのリクエストを示しています。モバイルSSOエージェントがクライアント・アプリケーションのかわりにトークンをリクエストするには、アクセス・トークンが必要です。
モバイルOAMAuthenticationの例
curl -H "Content-Type: application/json" -H 'X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD cred="..." ' --request POST http://localhost:18001/idaas_ rest/rest/mobileoamauthentication/access -d '{ "X-Idaas-Rest-Subject-Type":"TOKEN", "X-Idaas-Rest-Subject-Value":"... USER TOKEN VALUE...", "X-Idaas-Rest-Application-Context":"75sSbBZZKJiUOAWikZxsKA==", "X-Idaas-Rest-Application-Resource":"http:/wengate123.us.example.com:7779/index.html", "X-Idaas-Rest-New-Token-Type-To-Create":"ACCESSTOKEN", "handles" : { ... }, "deviceProfile" : { ... } }'
モバイルJWTAuthenticationの例
curl -H "Content-Type: application/json" -H 'X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD cred="..." ' --request POST http://localhost:18001/idaas_ rest/rest/mobilejwtauthentication/access -d '{ "X-Idaas-Rest-Subject-Type":"TOKEN", "X-Idaas-Rest-Subject-Value":"... USER TOKEN VALUE ...", "X-Idaas-Rest-Application-Resource":"...", "X-Idaas-Rest-New-Token-Type-To-Create":"ACCESSTOKEN", "handles" : { ... }, "deviceProfile" : { ... } }'
{ "X-Idaas-Rest-Token-Value":"...", "X-Idaas-Rest-Token-Type":"ACCESSTOKEN", handles : { "oaam.session" : { ... } , "oaam.device" : { ... } } }
このHTTPリクエストには1つのヘッダー、X-IDAAS-REST-AUTHORIZATION
があり、これにはSSOエージェント・アプリケーション(MobileAgent1)のクライアント登録ハンドルが含まれています。
このリクエストにはX-IDAAS-REST-AGENT-AUTHORIZATION
ヘッダーはありません。
Mobile and Socialサーバー・コンポーネント(特にモバイル・サービス・コンポーネント)は、両方のハンドルの有効性を検証します。これにより、MobileAgent1アプリケーションがターゲット・サービス・ドメインにリストされ、SSO対応アプリケーションとしてマークされるようになります(つまり、このアプリケーションはSSO優先度にリストされます)。
トークンの値は、表示上の都合で短縮されています。
この例は、クライアント登録ハンドルの検証リクエストを示しています。Mobile and Socialには、トークンとハンドルの検証ロジックがあるため、モバイル・クライアントがこの検証をコールする必要はありません。
Mobile and Socialサーバーにユーザー・トークンまたはアクセス・トークンの作成のリクエストが送信されると、このサービスは、クライアント登録ハンドルを含む1つまたは2つのHTTPヘッダー(X-IDAAS-REST-AUTHORIZATION
およびX-IDAAS-REST-AGENT-AUTHORIZATION
)を検証します。
curl --request GET http://localhost:18001/idaas_rest/rest/mobileservice1/tokens/info -H "X-Idaas-Rest-Subject: TOKEN ey..." -H "X-IDAAS-REST-AUTHORIZATION: TOKEN ey..."
{ "X-Idaas-Rest-Token-Value":"eyJl...", "X-Idaas-Rest-Token-Type":"CLIENTREGHANDLE" }
CLIENTREGHANDLE
の値は、2つの異なるHTTPヘッダーの下で繰り返されます。クライアント・トークンがトークンの検証処理を行うことを必要とせずに管理者が明示的なサービス・バインディングを使用する場合、2つ目のHTTPヘッダーは削除できます。
CLIENTREGHANDLE
の値は、表示上の都合で短縮されています。
トークンの値は、表示上の都合で短縮されています。
この項のcURLコマンドは、接続されるディレクトリ・サーバーを使用してユーザー・プロファイル・サービス・トランザクションを実行するため、クライアント・アプリケーションからMobile and Socialサーバーに送信されるRESTコールを示しています。
ユーザー・プロファイルcURLコマンドは、次の項に分類されています。
基本的なユーザー操作コマンドには次のようなものがあります。
リモート・ディレクトリでユーザー・プロファイルを作成する方法を示します。
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/ -d '{"uid":"John","description":"test user","lastname":"Anderson", "commonname":"John Anderson","firstname":"John"}'
{"uid":"John","guid":"FE1D7BD0590111E1BFDCF77FB8E715D5"," description":"test user","name":"John","lastname":"Anderson", "commonname":"John Anderson","loginid":"John","firstname":"John", "uniquename":"FE1D7BD0590111E1BFDCF7FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/people\/John"}
リモート・ディレクトリでユーザー・プロファイルを取得する方法を示します。
curl -i --request GET http://localhost:14100/idaas_rest/ rest/userprofile/people/John/
{"uid":"John","guid":"FE1D7BD0590111E1BFDCF77FB8E715D5","description":"test user", "name":"John","lastname":"Anderson","commonname":"John Anderson","loginid":"John", "firstname":"John","uniquename":"FE1D7BD0590111E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/people\/John"}
リモート・ディレクトリでユーザー・プロファイル・レコードを更新する方法を示します。
curl -H "Content-Type: application/json" --request PUT http://localhost:14100/idaas_rest/rest/userprofile/people/John/ -d '{"description":"test user1"}'
{"uid":"John","guid":"FE1D7BD0590111E1BFDCF77FB8E715D5", "description":"test user1","name":"John","lastname":"Anderson", "commonname":"John Anderson","loginid":"John","firstname":"John", "uniquename":"FE1D7BD0590111E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/people\/John"}
リモート・ディレクトリでユーザー・プロファイル・レコードを削除する方法を示します。
curl -i --request DELETE http://localhost:14100/ idaas_rest/rest/userprofile/people/John/
レスポンスはありません。
基本的なグループ操作コマンドには次のようなものがあります。
リモート・ディレクトリでグループ・プロファイルを作成する方法を示します。
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"group1 testuing","commonname":"group1"}'
{"guid":"2259C6C0592011E1BFDCF77FB8E715D5","description":"group1 testing", "name":"group1","commonname":"group1", "uniquename":"2259C6C0592011E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/group1"}
リモート・ディレクトリでグループ・プロファイルを取得する方法を示します。
curl -i --request GET "http://localhost:14100/idaas_rest/ rest/userprofile/groups/group1/"
{"guid":"2259C6C0592011E1BFDCF77FB8E715D5","description":"group1 testing", "name":"group1","commonname":"group1", "uniquename":"2259C6C0592011E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/group1"}
リモート・ディレクトリでグループ・プロファイルを更新する方法を示します。
curl -H "Content-Type: application/json" --request PUT http://localhost:14100/idaas_rest/rest/userprofile/groups/group1/ -d '{"description":"group11 testing"}'
{"guid":"2259C6C0592011E1BFDCF77FB8E715D5","description":"group11 testing", "name":"group1","commonname":"group1", "uniquename":"2259C6C0592011E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/group1"}
リモート・ディレクトリでグループ・プロファイルを削除する方法を示します。
curl -H "Content-Type: application/json" --request PUT http://localhost:14100/idaas_rest/rest/userprofile/groups/group1/ -d '{"description":"group11 testing"}'
{"guid":"2259C6C0592011E1BFDCF77FB8E715D5","description":"group11 testing", "name":"group1","commonname":"group1", "uniquename":"2259C6C0592011E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/group1"}
membersおよびmemberOfの論理エンティティ関係は、どちらもLDAPグループ・エンティティ内の同じメンバー属性を指しています。グループに関しては、ユーザーの追加、削除、読取りおよび検索に両方の論理エンティティ関係を使用できます。
この項では次の操作について記載しています。
ユーザーをグループのメンバーにする方法を示します。
ユーザーJohnの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/ -d '{"uid":"John"Anderson","commonname":"John Anderson","firstname":"John"}'
グループgroup1の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"group1 testing","commonname":"group1"}'
memberOf関係の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/John/memberOf/ -d '{"group-uri":"\/idaas_rest\/rest\/userprofile\/group\/group1", "person-uri":"\/idaas_rest\/rest\/userprofile\/people\/John"}'
{"group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/group1", "person-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "uri":"\/idaas_rest\/rest\/userprofile\/people\/John\/memberOf\/group1"}
指定されたユーザーのmemberOf関係プロファイルを取得する方法を示します。
curl -i --request GET "http://localhost:14100/idaas_rest /rest/userprofile/people/John/memberOf/group1/"
次のいずれかです。
HTTPステータス200 (リクエストは成功しました。)
レスポンスはありません。
memberOf関係の削除方法を示します。
memberOf関係の削除
curl -i --request DELETE "http://localhost:14100/idaas_rest/ rest/userprofile/people/John/memberOf/group1/"
ユーザーJohnの削除
curl -i --request DELETE http://localhost:14100/idaas_rest/ rest/userprofile/people/John/
グループgroup1の削除
curl -i --request DELETE "http://localhost:14100/idaas_rest/ rest/userprofile/groups/group1"
次のいずれかです。
HTTPステータス200 (リクエストは成功しました。)
レスポンスはありません。
membersおよびmemberOfの論理エンティティ関係は、どちらもLDAPグループ・エンティティ内の同じメンバー属性を指しています。グループに関しては、ユーザーの追加、削除、読取りおよび検索に両方の論理エンティティ関係を使用できます。
この項では次の操作について記載しています。
ユーザーをグループに割り当てる方法を示します。
ユーザーJohnの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/ -d '{"uid":"John"Anderson","commonname":"John Anderson","firstname":"John"}'
グループgroup1の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"group1 testuing","commonname":"group1"}'
members関係の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/group1/members -d '{"group-uri":"\/idaas_rest\/rest\/userprofile\/group\/group1", "person-uri":"\/idaas_rest\/rest\/userprofile\/people\/John"}'
{"group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/group1", "person-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "uri":"\/idaas_rest\/rest\/userprofile\/people\/group1\/members\/John"}
members関係の読取り方法を示します。
curl -i --request GET "http://localhost:14100/idaas_rest/ rest/userprofile/people/group1/members/John"
{"group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/group1", "person-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "uri":"\/idaas_rest\/rest\/userprofile\/people\/group1\/members\/John"}
members関係プロファイルの削除方法を示します。
members関係の削除
curl -i --request DELETE "http://localhost:14100/idaas_rest/ rest/userprofile/people/group1/members/John/"
ユーザーJohnの削除
curl -i --request DELETE http://localhost:14100/idaas_rest/ rest/userprofile/people/John/
グループgroup1の削除
curl -i --request DELETE "http://localhost:14100/idaas_rest/ rest/userprofile/groups/group1/"
HTTPステータス200 (リクエストは成功しました。)
この項では次の操作について記載しています。
マネージャをユーザーに割り当てる方法を示します。
ユーザーJohnの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/ -d '{"uid":"John"Anderson","commonname":"John Anderson","firstname":"John"}'
ユーザーAlanの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/ -d '{"uid":"Alan","description":"Manager User","lastname":"Doe", "commonname":"Alan Doe","firstname":"Alan"}'
manager関係の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/John/manager/ -d '{"report-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "manager-uri":"\/idaas_rest\/rest\/userprofile\/people\/Alan"}'
{"report-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "uri":"\/idaas_rest\/rest\/userprofile\/people\/John\/manager\/Alan", "manager-uri":"\/idaas_rest\/rest\/userprofile\/people\/Alan"}
manager関係プロファイルの読取り方法を示します。
curl -i --request GET "http://localhost:14100/idaas_rest/ rest/userprofile/people/John/manager/Alan"
{"report-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "uri":"\/idaas_rest\/rest\/userprofile\/people\/John\/manager\/Alan", "manager-uri":"\/idaas_rest\/rest\/userprofile\/people\/Alan"}
manager関係の削除方法を示します。
manager関係の削除
curl -i --request DELETE "http://localhost:14100/ idaas_rest/rest/userprofile/people/John/manager/Alan"
ユーザーJohnの削除
curl -i --request DELETE http://localhost:14100/ idaas_rest/rest/userprofile/people/John/
ユーザーAlanの削除
curl -i --request DELETE "http://localhost:14100/ idaas_rest/rest/userprofile/people/Alan/"
レスポンスはありません。
この項では次の操作について記載しています。
reports-to関係の作成方法を示します。
ユーザーJohnの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/ -d '{"uid":"John"Anderson","commonname":"John Anderson","firstname":"John"}'
ユーザーAlanの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/ -d '{"uid":"Alan","description":"Manager User","lastname":"Doe", "commonname":"Alan Doe","firstname":"Alan"}'
reports関係の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/Alan/reports/ -d '{"report-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "manager-uri":"\/idaas_rest\/rest\/userprofile\/people\/Alan"}'
{"report-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "uri":"\/idaas_rest\/rest\/userprofile\/people\/Alan\/reports\/John", "manager-uri":"\/idaas_rest\/rest\/userprofile\/people\/Alan"}
reports-to関係の読取り方法を示します。
curl -i --request GET "http://localhost:14100/idaas_rest/ rest/userprofile/people/Alan/reports/John"
{"report-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "uri":"\/idaas_rest\/rest\/userprofile\/people\/Alan\/reports\/John", "manager-uri":"\/idaas_rest\/rest\/userprofile\/people\/Alan"}
reports-to関係の削除方法を示します。
reports関係の削除
curl -i --request DELETE "http://localhost:14100/idaas_rest/ rest/userprofile/people/Alan/reports/John"
ユーザーJohnの削除
curl -i --request DELETE http://localhost:14100/idaas_rest/ rest/userprofile/people/John/
ユーザーAlanの削除
curl -i --request DELETE "http://localhost:14100/idaas_rest/ rest/userprofile/people/Alan/"
レスポンスはありません。
この項では次の操作について記載しています。
ownerOf関係の作成方法を示します。
ユーザーJohnの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/ -d '{"uid":"John"Anderson","commonname":"John Anderson","firstname":"John"}'
グループgroup1の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"group1 testuing","commonname":"group1"}'
ownerOf関係の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/John/ownerOf/ -d '{"group-uri":"\/idaas_rest\/rest\/userprofile\/group\/group1", "owner-uri":"\/idaas_rest\/rest\/userprofile\/people\/John"}'
{"report-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "uri":"\/idaas_rest\/rest\/userprofile\/people\/Alan\/reports\/John", "manager-uri":"\/idaas_rest\/rest\/userprofile\/people\/Alan"}
ownerOf関係の読取り方法を示します。
curl -i --request GET "http://localhost:14100/idaas_rest/ rest/userprofile/people/John/ownerOf/group1"
{"group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/group1", "owner-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "uri":"\/idaas_rest\/rest\/userprofile\/people\/John\/ownerOf\/group1"}
ownerOf関係の削除方法を示します。
ownerOf関係の削除
curl -i --request DELETE "http://localhost:14100/idaas_rest/ rest/userprofile/people/John/ownerOf/group1"
ユーザーJohnの削除
curl -i --request DELETE http://localhost:14100/idaas_rest/ rest/userprofile/people/John/
グループgroup1の削除
curl -i --request DELETE "http://localhost:14100/idaas_rest/ rest/userprofile/groups/group1"
レスポンスはありません。
この項では次の操作について記載しています。
personOwner関係の作成方法を示します。
ユーザーJohnの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/ -d '{"uid":"John"Anderson","commonname":"John Anderson","firstname":"John"}'
グループgroup1の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"group1 testing","commonname":"group1"}'
personOwner関係の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/group1/personOwner -d '{"group-uri":"\/idaas_rest\/rest\/userprofile\/group\/group1", "owner-uri":"\/idaas_rest\/rest\/userprofile\/people\/John"}'
{"report-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "uri":"\/idaas_rest\/rest\/userprofile\/people\/Alan\/reports\/John", "manager-uri":"\/idaas_rest\/rest\/userprofile\/people\/Alan"}
personOwner関係の読取り方法を示します。
curl -i --request GET "http://localhost:18001/idaas_rest/ rest/userprofile/groups/group1/personOwner/John"
{"owner-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/group1", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/group1\/personOwner\/John"
personOwner関係の削除方法を示します。
personOwner関係の削除
curl -i --request DELETE "http://localhost:18001/idaas_rest/ rest/userprofile/groups/group1/personOwner/John"
ユーザーJohnの削除
curl -i --request DELETE http://localhost:14100/idaas_rest/ rest/userprofile/people/John/
グループgroup1の削除
curl -i --request DELETE "http://localhost:14100/idaas_rest/ rest/userprofile/groups/group1/"
レスポンスはありません。
この項では次の操作について記載しています。
groupOwner関係の作成方法を示します。
グループXYZの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"XYZ Group","commonname":"XYZ"}'
グループABCの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"ABC Group","commonname":"ABC"}'
groupOwner関係の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/XYZ/groupOwner -d '{"group-uri":"\/idaas_rest\/rest\/userprofile\/group\/XYZ", "owner-uri":"\/idaas_rest\/rest\/userprofile\/group\/ABC"}'
{"owner-uri":"\/idaas_rest\/rest\/userprofile\/groups\/ABC", "group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/XYZ", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/XYZ\/groupOwner\/ABC"}
groupOwner関係の読取り方法を示します。
curl -i --request GET "http://localhost:14100/ idaas_rest/rest/userprofile/groups/XYZ/groupOwner/ABC"
{"owner-uri":"\/idaas_rest\/rest\/userprofile\/people\/John", "group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/group1", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/group1\/personOwner\/John"
groupOwner関係の削除方法を示します。
groupOwner関係の削除
curl -i --request DELETE "http://localhost:14100/ idaas_rest/rest/userprofile/groups/XYZ/groupOwner/ABC"
グループXYZの削除
curl -i --request DELETE http://localhost:14100/ idaas_rest/rest/userprofile/groups/XYZ/
グループABCの削除
curl -i --request DELETE "http://localhost:14100/ idaas_rest/rest/userprofile/groups/ABC/"
レスポンスはありません。
この項では次の操作について記載しています。
groupOwnerOf関係の作成方法を示します。
グループXYZの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"XYZ Group","commonname":"XYZ"}'
グループABCの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"ABC Group","commonname":"ABC"}'
groupOwnerOf関係の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ABC/groupOwnerOf -d '{"group-uri":"\/idaas_rest\/rest\/userprofile\/group\/XYZ", "owner-uri":"\/idaas_rest\/rest\/userprofile\/group\/ABC"}'
{"group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/XYZ", "owner-uri":"\/idaas_rest\/rest\/userprofile\/groups\/ABC", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/ABC\/groupOwnerOf\/XYZ"}
groupOwnerOf関係の読取り方法を示します。
curl -i --request GET "http://localhost:14100/ idaas_rest/rest/userprofile/groups/ABC/groupOwnerOf/XYZ"
{"group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/XYZ", "owner-uri":"\/idaas_rest\/rest\/userprofile\/groups\/ABC", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/ABC\/groupOwnerOf\/XYZ"
groupOwnerOf関係の削除方法を示します。
groupOwnerOf関係の削除
curl -i --request DELETE "http://localhost:14100/ idaas_rest/rest/userprofile/groups/ABC/groupOwnerOf/XYZ"
グループXYZの削除
curl -i --request DELETE http://localhost:14100/ idaas_rest/rest/userprofile/groups/XYZ/
グループABCの削除
curl -i --request DELETE "http://localhost:14100/ idaas_rest/rest/userprofile/groups/ABC/"
レスポンスはありません。
この項では次の操作について記載しています。
groupMemberOf関係の作成方法を示します。
グループXYZの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"XYZ Group","commonname":"XYZ"}'
グループiCLOUDの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"iCloud Group","commonname":"iCLOUD"}'
groupMemberOf関係の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/XYZ/groupMemberOf -d '{"group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/iCLOUD", "member-uri":"\/idaas_rest\/rest\/userprofile\/groups\/XYZ"}'
{"group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/iCLOUD", "member-uri":"\/idaas_rest\/rest\/userprofile\/groups\/XYZ", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/XYZ\/groupMemberOf\/iCLOUD"}
groupMemberOf関係の読取り方法を示します。
curl -i --request GET "http://localhost:14100/ idaas_rest/rest/userprofile/groups/XYZ/groupMemberOf/iCLOUD"
{"group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/iCLOUD", "member-uri":"\/idaas_rest\/rest\/userprofile\/groups\/XYZ", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/XYZ\/groupMemberOf\/iCLOUD"
groupMemberOf関係の削除方法を示します。
groupMemberOf関係の削除
curl -i --request DELETE "http://localhost:14100/ idaas_rest/rest/userprofile/groups/XYZ/groupMemberOf/iCLOUD"
グループXYZの削除
curl -i --request DELETE http://localhost:14100/ idaas_rest/rest/userprofile/groups/XYZ/
グループiCLOUDの削除
curl -i --request DELETE "http://localhost:14100/ idaas_rest/rest/userprofile/groups/iCLOUD/"
レスポンスはありません。
この項では次の操作について記載しています。
groupMembers関係の作成方法を示します。
グループXYZの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"XYZ Group","commonname":"XYZ"}'
グループiCLOUDの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/ -d '{"description":"iCloud Group","commonname":"iCLOUD"}'
groupMembers関係の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/groups/iCLOUD/groupMembers -d '{"group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/iCLOUD", "member-uri":"\/idaas_rest\/rest\/userprofile\/groups\/XYZ"}'
{"group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/iCLOUD", "member-uri":"\/idaas_rest\/rest\/userprofile\/groups\/XYZ", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/iCLOUD\/groupMembers\/XYZ"}
groupMembers関係の読取り方法を示します。
curl -i --request GET "http://localhost:14100/ idaas_rest/rest/userprofile/groups/iCLOUD/groupMembers"
{"group-uri":"\/idaas_rest\/rest\/userprofile\/groups\/iCLOUD", "member-uri":"\/idaas_rest\/rest\/userprofile\/groups\/XYZ", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/iCLOUD\/groupMemberOf\/XYZ"
groupMembers関係の削除方法を示します。
groupMembers関係の削除
curl -i --request DELETE "http://localhost:14100/idaas_rest/rest/ userprofile/groups/iCLOUD/groupMembers"
グループXYZの削除
curl -i --request DELETE http://localhost:14100/ idaas_rest/rest/userprofile/groups/XYZ/
グループiCLOUDの削除
curl -i --request DELETE "http://localhost:14100/ idaas_rest/rest/userprofile/groups/iCLOUD/"
レスポンスはありません。
この項では次の操作について記載しています。
すべてのユーザーのリストを取得する方法を示します。
curl -i --request GET http://localhost:14100/idaas_rest/rest/userprofile/people
{"next":"\/idaas_rest\/rest\/userprofile\/people?pageSize=10&pagePos=1", "elements":[{"uid":"OracleSystemUser","guid":"E9A3B390581611E19F08FB1E3902A71C", "description":"Oracle]]]] application software system user.", "name":"OracleSystemUser","lastname":"OracleSystemUser", "commonname":"OracleSystemUser","loginid":"OracleSystemUser", "uniquename":"E9A3B390581611E19F08FB1E3902A71C", "uri":"\/idaas_rest\/rest\/userprofile\/people\/OracleSystemUser"}, {"uid":"weblogic","guid":"E9A4C500581611E19F08FB1E3902A71C", "description":"This user is the default administrator.","name":"weblogic", "lastname":"weblogic","commonname":"weblogic","loginid":"weblogic", "uniquename":"E9A4C500581611E19F08FB1E3902A71C", "uri":"\/idaas_rest\/rest\/userprofile\/people\/weblogic"}, {"uid":"alice","guid":"D8D1907158F511E1BFDCF77FB8E715D5", "description":"This test user is alice.","name":"alice","lastname":"alice", "commonname":"alice","loginid":"alice", "uniquename":"D8D1907158F511E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/people\/alice"}, {"uid":"sean","guid":"D8D5AF2058F511E1BFDCF77FB8E715D5", "description":"This test user is sean.","name":"sean","lastname":"sean", "commonname":"sean","loginid":"sean", "uniquename":"D8D5AF2058F511E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/people\/sean"}, {"uid":"wei","guid":"D8D6245058F511E1BFDCF77FB8E715D5", "description":"This test user is wei.","name":"wei","lastname":"wei", "commonname":"wei","loginid":"wei", "uniquename":"D8D6245058F511E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/people\/wei"}, {"uid":"malla","guid":"D8D64B6058F511E1BFDCF77FB8E715D5", "description":"This test user is malla.","name":"malla","lastname":"malla", "commonname":"malla","loginid":"malla", "uniquename":"D8D64B6058F511E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/people\/malla"}, {"uid":"alan","guid":"D8D6998058F511E1BFDCF77FB8E715D5", "description":"This test user is alan.","name":"alan","lastname":"alan", "commonname":"alan","loginid":"alan", "uniquename":"D8D6998058F511E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/people\/alan"}, "uri":"\/idaas_rest\/rest\/userprofile\/people?pageSize=10&pagePos=0"}
ページ・サイズとページの位置を指定してユーザーのリストを取得する方法を示します。
curl -i --request GET "http://localhost:14100/ idaas_rest/rest/userprofile/people?pagePos=0&pageSize=1"
{"next":"\/idaas_rest\/rest\/userprofile\/people?pageSize=1&pagePos=1", "elements":[{"uid":"OracleSystemUser","guid":"E9A3B390581611E19F08FB1E3902A71C", "description":"Oracle]] application software system user.", "name":"OracleSystemUser","lastname":"OracleSystemUser", "commonname":"OracleSystemUser","loginid":"OracleSystemUser", "uniquename":"E9A3B390581611E19F08FB1E3902A71C", "uri":"\/idaas_rest\/rest\/userprofile\/people\/OracleSystemUser"}], "uri":"\/idaas_rest\/rest\/userprofile\/people?pageSize=1&pagePos=0"}
検索パラメータは設定するが検索フィルタは設定せずにユーザーのリストを取得する方法を示します。
curl -i --request GET "http:/localhost:14100/idaas_rest/rest/userprofile/people/ ?pagePos=0&pageSize=10&searchparam.name=John*"
{"elements":[{"uid":"John","guid":"E932E4F0590911E1BFDCF77FB8E715D5", "description":"test user","name":"John","lastname":"Anderson", "commonname":"John Anderson","loginid":"John","firstname":"John", "uniquename":"E932E4F0590911E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/people\/John"}], "uri":"\/idaas_rest\/rest\/userprofile\/people?pageSize=10 &searchparam.name=John+Anderson&pagePos=0"}
デフォルトのそのまま使用できる単純なAND検索フィルタを指定して、ユーザーのリストを取得する方法を示します。
curl -i --request GET "http:/localhost:14100/idaas_rest/rest/userprofile/ people?searchFilter=SimpleOR&searchparam.uid=John&searchparam.lastname=TEST"
{"elements":[{ "uid":"John", "guid":"E932E4F0590911E1BFDCF77FB8E715D5", "description":"test user", "name":"John", "lastname":"Anderson", "commonname":"John Anderson", "loginid":"John", "firstname":"John", "uniquename":"E932E4F0590911E1BFDCF77FB8E715D5", "uri":"\/idaas_rest\/rest\/userprofile\/people\/John"}], "uri":"\/idaas_rest\/rest\/userprofile\/people?pageSize=10 &searchFilter=SimpleOR&searchparam.lastname=TEST&searchparam.uid=John&pagePos=0"}
グループ情報の取得方法を示します。
curl -i --request GET "http:/localhost:14100/idaas_rest/rest/userprofile/ groups/?pagePos=0&pageSize=2"
{"next":"\/idaas_rest\/rest\/userprofile\/groups?pageSize=2&pagePos=1", "elements":[{ "guid":"7CF7EC60724811E1BFB5AB6A1E4E415B", "description":"AdminChannelUsers]] can access the admin channel.", "name":"AdminChannelUsers", "commonname":"AdminChannelUsers", "uniquename":"7CF7EC60724811E1BFB5AB6A1E4E415B", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/AdminChannelUsers"}, {"guid":"7CF7EC61724811E1BFB5AB6A1E4E415B", "description":"Administrators can view and modify all resource attributes and start and stop servers.", "name":"Administrators", "commonname":"Administrators", "uniquename":"7CF7EC61724811E1BFB5AB6A1E4E415B", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/Administrators"}], "uri":"\/idaas_rest\/rest\/userprofile\/groups?pageSize=2&pagePos=0"}
組織内の人の名前を指定して、その人のマネージャを検索できます。
curl -i --request GET "http:/localhost:14100/idaas_rest/rest/userprofile/ people/JohnD/manager/?pagePos=0&pageSize=2"
{"elements":[{ "report-uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD", "uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD\/manager\/SusanS", "manager-uri":{ "uid":"SusanS", "manager":"\/idaas_rest\/rest\/userprofile\/people\/SusanS\/manager", "state":"CA", "lastname":"Smith", "firstname":"Susan", "loginid":"SusanS", "uniquename":"5B543C30790511E1AF41BD17BAB1A1C1", "uri":"\/idaas_rest\/rest\/userprofile\/people\/SusanS", "country":"USA", "guid":"5B543C30790511E1AF41BD17BAB1A1C1", "title":"Sr]]. Director, Development ", "name":"SusanS", "commonname":"Susan Smith"} }], "uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD\/manager?pageSize=2 &pagePos=0"}
attrsToFetch
問合せパラメータを使用して、特定の属性セットを取得します。このパラメータが指定されない場合は、属性のフル・セットが返されます。複数の属性を指定するには、属性名のカンマ区切りリストを使用します。
次に例を示します。
.../people/alice?attrsToFetch=uid,email
attrsToFetch
問合せパラメータは、検索、読取り、ユーザー、グループまたは関係の任意の操作で使用できます。
この項では、次の例を示します。
この例は、ユーザーの一般名のみを取得する方法を示しています。attrsToFetch
パラメータを使用しないと、システムはユーザー属性のフル・セットを取得します。
curl -i --request GET "http://host:10/idaas_rest/rest/userprofile/people/Alice/?attrsToFetch=commonname"
{ "commonname":"Alice Mac", "uri":"\/idaas_rest\/rest\/userprofile\/people\/Alice"}
{ "uid":"Alice", "guid":"C04020C078FE11E1AF41BD17BAB1A1C1", "description":"Alice User", "name":"Alice", "lastname":"Mac", "commonname":"Alice Mac", "loginid":"Alice", "firstname":"Alice", "uniquename":"C04020C078FE11E1AF41BD17BAB1A1C1", "uri":"\/idaas_rest\/rest\/userprofile\/people\/Alice"}
この例は、グループを検索し、各グループの名前のみを取得する方法を示しています。attrsToFetch
パラメータを使用しないと、システムは各グループのすべての属性を取得します。
curl -i --request GET "http:/host:10/idaas_rest/rest/userprofile/groups?pagePos=0&pageSize=2 &attrsToFetch=name"
{"next": "\/idaas_rest\/rest\/userprofile\/groups?pageSize=2&attrsToFetch=name&pagePos=1", "elements":[{ "name":"AdminChannelUsers", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/AdminChannelUsers"}, { "name":"Administrators", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/Administrators" }], "uri":"\/idaas_rest\/rest\/userprofile\/groups?pageSize=2&attrsToFetch=name &pagePos=0"}
{"next": "\/idaas_rest\/rest\/userprofile\/groups?pageSize=2&pagePos=1", "elements":[{ "guid":"7CF7EC60724811E1BFB5AB6A1E4E415B", "description":"AdminChannelUsers can access the admin channel.", "name":"AdminChannelUsers", "commonname":"AdminChannelUsers", "uniquename":"7CF7EC60724811E1BFB5AB6A1E4E415B", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/AdminChannelUsers"}, { "guid":"7CF7EC61724811E1BFB5AB6A1E4E415B", "description":"Administrators can view and modify all resource attributes and start and stop servers.", "name":"Administrators", "commonname":"Administrators", "uniquename":"7CF7EC61724811E1BFB5AB6A1E4E415B", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/Administrators" }], "uri":"\/idaas_rest\/rest\/userprofile\/groups?pageSize=2&pagePos=0"}
この例は、ユーザーが所属するグループの名前を取得する方法を示しています。attrsToFetch
パラメータを使用しないと、システムは各グループのグループ属性のフル・セットを取得します。
curl -i --request GET "http://host:10/idaas_rest/rest/userprofile/people/weblogic/memberOf? pagePos=0&pageSize=2&attrsToFetch=name"
{"next": "\/idaas_rest\/rest\/userprofile\/people\/weblogic\/memberOf? pageSize=2&attrsToFetch=name&pagePos=1", "elements":[ { "group-uri": { "name":"Administrators", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/Administrators" }, "person-uri":"\/idaas_rest\/rest\/userprofile\/people\/weblogic", "uri":"\/idaas_rest\/rest\/userprofile\/people\/weblogic\/memberOf\/ Administrators" }, { "group-uri": { "name":"OAAMEnvAdminGroup", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/OAAMEnvAdminGroup" }, "person-uri":"\/idaas_rest\/rest\/userprofile\/people\/weblogic", "uri":"\/idaas_ rest\/rest\/userprofile\/people\/weblogic\/memberOf\/ OAAMEnvAdminGroup" }], "uri":"\/idaas_rest\/rest\/userprofile\/people\/weblogic\/memberOf? pageSize=2&attrsToFetch=name&pagePos=0"}
{"next": "\/idaas_rest\/rest\/userprofile\/people\/weblogic\/memberOf? pageSize=2&pagePos=1", "elements":[ { "group-uri": { "guid":"7CF7EC61724811E1BFB5AB6A1E4E415B", "description":"Administrators can view and modify all resource attributes and start and stop servers.", "name":"Administrators", "commonname":"Administrators", "uniquename":"7CF7EC61724811E1BFB5AB6A1E4E415B", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/Administrators" }, "person-uri":"\/idaas_rest\/rest\/userprofile\/people\/weblogic", "uri":"\/idaas_rest\/rest\/userprofile\/people\/weblogic\/memberOf\/ Administrators" }, { "group-uri": { "guid":"7CF83A81724811E1BFB5AB6A1E4E415B", "description":"EnvAdminGroup", "name":"OAAMEnvAdminGroup", "commonname":"OAAMEnvAdminGroup", "uniquename":"7CF83A81724811E1BFB5AB6A1E4E415B", "uri":"\/idaas_rest\/rest\/userprofile\/groups\/OAAMEnvAdminGroup" }, "person-uri":"\/idaas_rest\/rest\/userprofile\/people\/weblogic", "uri":"\/idaas_rest\/rest\/userprofile\/people\/weblogic\/memberOf\/ OAAMEnvAdminGroup" }], "uri":"\/idaas_rest\/rest\/userprofile\/people\/weblogic\/memberOf? pageSize=2&pagePos=0"}
prefetch
問合せパラメータを使用して問合せを拡張し、問合せのサブジェクトであるユーザー、グループまたは関係にリンクされた属性のコレクションを取得します。複数の属性を指定するには、属性名のカンマ区切りリストを使用します。
次に例を示します。
.../people/alice?prefetch=attr1,attr2(b1,b2),attr3(b1,b2,b3)
prefetch問合せパラメータを指定しない場合、システムはリクエストされたURIのみを返します。
prefetch
問合せパラメータは、ユーザー、グループまたは関係プロファイル操作で使用することはできますが、検索操作では使用できません。
したがって、次のようなインスタンス・リソースでprefetch
を使用できます。
.../people/alice
.../groups/Admin
.../people/alice/memberOf/Admin
ただし、次のようなコレクション・リソースでprefetch
を使用することはできません。
.../people
.../groups
.../people/alice/memberOf
この項では1つの例を示します。
この例は、デフォルトで返されるユーザー属性のフル・セットに加え、指定されたユーザーのマネージャ属性のコレクションを取得する方法を示しています。
curl -i --request GET "http://localhost:16191/idaas_rest/rest/userprofile/people/JohnD/ ?prefetch=manager"
{ "uid":"JohnD", "manager": {"elements": [{ "report-uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD", "uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD\/manager\/SusanS", "manager-uri": { "uid":"SusanS", "manager":"\/idaas_rest\/rest\/userprofile\/people\/SusanS\/manager", "state":"CA", "lastname":"Smith", "firstname":"Susan", "loginid":"SusanS", "uniquename":"5B543C30790511E1AF41BD17BAB1A1C1", "uri":"\/idaas_rest\/rest\/userprofile\/people\/SusanS", "country":"USA", "guid":"5B543C30790511E1AF41BD17BAB1A1C1", "title":"Sr]]. Director, Development ", "name":"SusanS", "commonname":"Susan Smith" } }], "uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD\/manager ?pageSize=0&pagePos=-1" }, "state":"CA", "lastname":"Doe", "firstname":"John", "loginid":"JohnD", "uniquename":"2F23AC90790511E1AF41BD17BAB1A1C1", "uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD", "country":"USA", "guid":"2F23AC90790511E1AF41BD17BAB1A1C1", "title":"Director, Development ", "name":"JohnD", "commonname":"John Doe"}
{ "uid":"JohnD", "manager":"\/idaas_rest\/rest\/userprofile\/people\/JohnD\/manager", "state":"CA", "lastname":"Doe", "firstname":"John", "loginid":"JohnD", "uniquename":"2F23AC90790511E1AF41BD17BAB1A1C1", "uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD", "country":"USA", "guid":"2F23AC90790511E1AF41BD17BAB1A1C1", "title":"Director, Development ", "name":"JohnD", "commonname":"John Doe"}
scope
問合せパラメータを使用して、関係の検索でネストされたレベルの属性を取得します。
次に例を示します。
.../people/JohnD/manager?scope=toTop
scopeは、直接的な階層関係を持つ2つのエンティティ間(たとえば、2ユーザー間のmanager関係や、ユーザーとグループ間のmemberOf関係など)で検索が行われる場合に使用します。
scope問合せパラメータは、manager、reports、groupMemberOf、groupMembers、groupOwnerおよびgroupOwnerOfのユーザー・プロファイル・サービス標準エンティティで使用できます。
注意: Oracle Access Managementシステム管理コンソールでユーザー・プロファイル・サービス・プロバイダを編集することにより、 |
この項では1つの例を示します。
この例は、scope
をtoTop
に設定してmanager関係の検索を行う方法を示しています。
ユーザーJohnDの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/ -d '{ "uid":"JohnD", "title":"Director, Development ", "state":"CA", "lastname":"Doe", "commonname":"John Doe ", "firstname":"John", "password":"secret12345", "country":"USA"}'
ユーザーSusanSの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/ -d '{ "uid":"SusanS", "title":"Sr. Director, Development ", "state":"CA", "lastname":"Smith", "commonname":"Susan Smith", "firstname":"Susan", "password":"12345secret", "country":"USA"}'
ユーザーAlanCの作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/ -d '{ "uid":"AlanC", "title":"VP, Identity Management Development ", "state":"CA", "lastname":"Cooper", "commonname":"Alan Cooper", "firstname":"Alan", "password":"welcome321", "country":"USA"}'
JohnDとSusanSの間のmanager関係の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/JohnD/manager -d '{ "report-uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD", "manager-uri":"\/idaas_rest\/rest\/userprofile\/people\/SusanS"}'
SusanSとAlanCの間のmanager関係の作成
curl -H "Content-Type: application/json" --request POST http://localhost:14100/idaas_rest/rest/userprofile/people/SusanS/manager -d '{ "report-uri":"\/idaas_rest\/rest\/userprofile\/people\/SusanS", "manager-uri":"\/idaas_rest\/rest\/userprofile\/people\/AlanC"}'
scope = toTopでのmanager関係の検索の実行
curl -i --request GET "http://localhost:14100/idaas_rest/rest/userprofile/people/ JohnD/manager/?scope=toTop&pagePos=0&pageSize=2"
{"next": "\/idaas_rest\/rest\/userprofile\/people\/JohnD\/manager ?pageSize=2&scope=toTop&pagePos=1", "elements": [{ "report-uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD", "uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD\/manager\/SusanS", "manager-uri": { "uid":"SusanS", "manager":"\/idaas_rest\/rest\/userprofile\/people\/SusanS\/manager", "state":"CA", "lastname":"Smith", "firstname":"Susan", "loginid":"SusanS", "uniquename":"5B543C30790511E1AF41BD17BAB1A1C1", "uri":"\/idaas_rest\/rest\/userprofile\/people\/SusanS", "country":"USA", "guid":"5B543C30790511E1AF41BD17BAB1A1C1", "title":"Sr. Director, Development ", "name":"SusanS", "commonname":"Susan Smith" } }, { "report-uri":"\/idaas_rest\/rest\/userprofile\/people\/SusanS", "uri":"\/idaas_rest\/rest\/userprofile\/people\/SusanS\/manager\/AlanC", "manager-uri": { "uid":"AlanC", "guid":"31486BE0790611E1AF41BD17BAB1A1C1", "title":"VP, Identity Management Development ", "name":"AlanC", "state":"CA", "lastname":"Cooper", "commonname":"Alan Cooper", "loginid":"AlanC", "firstname":"Alan", "uniquename":"31486BE0790611E1AF41BD17BAB1A1C1", "uri":"\/idaas_rest\/rest\/userprofile\/people\/AlanC", "country":"USA" } }], "uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD\/manager ?pageSize=2&scope=toTop&pagePos=0"}
{"elements": [{ "report-uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD", "uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD\/manager\/SusanS", "manager-uri": { "uid":"SusanS", "manager":"\/idaas_rest\/rest\/userprofile\/people\/SusanS\/manager", "state":"CA", "lastname":"Smith", "firstname":"Susan", "loginid":"SusanS", "uniquename":"5B543C30790511E1AF41BD17BAB1A1C1", "uri":"\/idaas_rest\/rest\/userprofile\/people\/SusanS", "country":"USA", "guid":"5B543C30790511E1AF41BD17BAB1A1C1", "title":"Sr. Director, Development ", "name":"SusanS", "commonname":"Susan Smith" } }], "uri":"\/idaas_rest\/rest\/userprofile\/people\/JohnD\/manager ?pageSize=2&pagePos=0"}
この項の例は、RESTコールの進行を表しています。まずデバイス登録ハンドルが取得され、Mobile and Socialサーバーへの後続のコールで使用されて、ユーザーの認証、保護されたリソースへのアクセス権限の取得、およびユーザー・プロファイル・サービスとの対話が行われます。基本シーケンスは、(1)デバイス登録ハンドルの取得、(2)ユーザー・トークンの取得、(3)アクセス・トークンの取得となります。
注意: この項に示すRESTの例では、読みやすくするために、改行およびコード・ブロックのインデントを行っています。 |
この例は、iOSデバイス上のモバイルSSOエージェント・アプリケーションがMobile and Socialサーバーに送信するクライアント登録リクエスト・コールを示しています。
リクエスト
curl -H "Content-Type: application/json" --request POST http://hostname.example.com:18001/idaas_rest/rest/mobilejwtauthentication/register -H 'X-IDAAS-SERVICEDOMAIN:MobileServiceDomain' -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"jdoe", "X-Idaas-Rest-Subject-Password":"password123", "X-Idaas-Rest-New-Token-Type-To-Create":"CLIENTREGHANDLE", "deviceProfile":
{ "oracle:idm:claims:client:sdkversion":"11.1.2.0.0", "hardwareIds": { "oracle:idm:claims:client:udid":"0e83ff56a12a9cf0c7", "oracle:idm:claims:client:phonenumber":"1-650-555-1234", "oracle:idm:claims:client:macaddress":"00-16-41-34-2C-A6", "oracle:idm:claims:client:imei":"010113006310121" }, "oracle:idm:claims:client:jailbroken":false, "oracle:idm:claims:client:geolocation":"+40.689060,-74.044636", "oracle:idm:claims:client:networktype":"PHONE_CARRIER", "oracle:idm:claims:client:vpnenabled":false, "oracle:idm:claims:client:ostype":"iPhone OS", "oracle:idm:claims:client:phonecarriername":"AT&T", "oracle:idm:claims:client:locale":"EN-US", "oracle:idm:claims:client:osversion":"4.0" } "clientId":"OICSecurityApp" }'
レスポンス
{"X-Idaas-Rest-Token-Value":"eyJ0b2tlblR...l9M=", "X-Idaas-Rest-Token-Type":"CLIENTREGHANDLE", "handles": {"oaam.device": { "expirationTSInSec":1334423076, "value":"20_7fe4bde3d448598c4cb8211d214b5eaded0620428c06061b1261644603717cd3" }, "oaam.session": { "expirationTSInSec":1332955447, "value":"18_2743f64c111cb6691ea18689317958192d748b191a4955851e43f40910079e9a" } } }
リクエスト
curl -H "Content-Type: application/json" --request POST http://hostname.example.com:18001/idaas_rest/rest/mobilejwtauthentication/register -H 'X-IDAAS-SERVICEDOMAIN:MobileServiceDomain' -H 'X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD cred="T0lDU2VjdXJ...Gw5TT0="' -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"jdoe", "X-Idaas-Rest-Subject-Password":"password123", "X-Idaas-Rest-New-Token-Type-To-Create":"CLIENTREGHANDLE", "deviceProfile":
{ "oracle:idm:claims:client:sdkversion":"11.1.2.0.0", "hardwareIds": { "oracle:idm:claims:client:udid":"0e83ff56a12a9cf0c7", "oracle:idm:claims:client:phonenumber":"1-650-555-1234", "oracle:idm:claims:client:macaddress":"00-16-41-34-2C-A6", "oracle:idm:claims:client:imei":"010113006310121" }, "oracle:idm:claims:client:jailbroken":false, "oracle:idm:claims:client:geolocation":"+40.689060,-74.044636", "oracle:idm:claims:client:networktype":"PHONE_CARRIER", "oracle:idm:claims:client:vpnenabled":false, "oracle:idm:claims:client:ostype":"iPhone OS", "oracle:idm:claims:client:phonecarriername":"AT&T", "oracle:idm:claims:client:locale":"EN-US", "oracle:idm:claims:client:osversion":"4.0" } "handles": {"oaam.session":"18_2743f64c111cb6691ea18689317958192d748b191a4955851e43f40910079e9a", "oaam.device":"20_7fe4bde3d448598c4cb8211d214b5eaded0620428c06061b1261644603717cd3" }, "clientId":"WhitePageApp" }'
レスポンス
{"X-Idaas-Rest-Token-Value":"eyJ0b2tlblR...Lyhko=", "X-Idaas-Rest-Token-Type":"CLIENTREGHANDLE", "handles": {"oaam.device": { "expirationTSInSec":1334423298, "value":"20_7fe4bde3d448598c4cb8211d214b5eaded0620428c06061b1261644603717cd3" }, "oaam.session": { "expirationTSInSec":1332955669, "value":"18_2743f64c111cb6691ea18689317958192d748b191a4955851e43f40910079e9a" } } }
リクエスト
curl -H "Content-Type: application/json" --request POST http://hostname.example.com:18001/idaas_rest/rest/mobilejwtauthentication/authenticate -H 'X-IDAAS-SERVICEDOMAIN:MobileServiceDomain' -H 'X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD cred="T0lDU2VjdXJpdHlBc...Fa00vOD0="' -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL", "X-Idaas-Rest-Subject-Username":"jdoe", "X-Idaas-Rest-Subject-Password":"password123", "X-Idaas-Rest-New-Token-Type-To-Create":"USERTOKEN", "deviceProfile":
{ "oracle:idm:claims:client:sdkversion":"11.1.2.0.0", "hardwareIds": { "oracle:idm:claims:client:udid":"0e83ff56a12a9cf0c7", "oracle:idm:claims:client:phonenumber":"1-650-555-1234", "oracle:idm:claims:client:macaddress":"00-16-41-34-2C-A6", "oracle:idm:claims:client:imei":"010113006310121" }, "oracle:idm:claims:client:jailbroken":false, "oracle:idm:claims:client:geolocation":"+40.689060,-74.044636", "oracle:idm:claims:client:networktype":"PHONE_CARRIER", "oracle:idm:claims:client:vpnenabled":false, "oracle:idm:claims:client:ostype":"iPhone OS", "oracle:idm:claims:client:phonecarriername":"AT&T", "oracle:idm:claims:client:locale":"EN-US", "oracle:idm:claims:client:osversion":"4.0" } "handles": {"oaam.session":"21_9e2e728b3180a7a3c9b80cef542c58339c2c7ed0e1a3ba66db4807ef1cf1523d", "oaam.device":"23_3a958d144b04f91c53b4236ed9f880357122df946f14ba21d957be5b49ef529b" } }'
レスポンス
{"X-Idaas-Rest-Token-Value":"eyJhbGciOiJSUzUx...1OC6qw", "X-Idaas-Rest-Token-Type":"USERTOKEN", "handles": {"oaam.device": { "expirationTSInSec":1334424634, "value":"23_3a958d144b04f91c53b4236ed9f880357122df946f14ba21d957be5b49ef529b" }, "oaam.session": { "expirationTSInSec":1332957005, "value":"21_9e2e728b3180a7a3c9b80cef542c58339c2c7ed0e1a3ba66db4807ef1cf1523d" } } }
リクエスト
curl -H "Content-Type: application/json" --request POST http://hostname.example.com:18001/idaas_rest/rest/mobilejwtauthentication/access -H 'X-IDAAS-SERVICEDOMAIN:MobileServiceDomain' -H 'X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD cred="T0lDU2VjdXJpdHlBc...TFPQzZxdw=="' -d '{ "X-Idaas-Rest-Subject-Type":"TOKEN", "X-Idaas-Rest-Subject-Value":"eyJhbGciOiJSUzUxM...411OC6qw", "X-Idaas-Rest-Application-Context":"<webgate context>", "X-Idaas-Rest-Application-Resource":"http:\/\/am-v40z-04.us.example.com:7777\/index.html", "X-Idaas-Rest-New-Token-Type-To-Create":"ACCESSTOKEN", "deviceProfile":
{ "oracle:idm:claims:client:sdkversion":"11.1.2.0.0", "hardwareIds": { "oracle:idm:claims:client:udid":"0e83ff56a12a9cf0c7", "oracle:idm:claims:client:phonenumber":"1-650-555-1234", "oracle:idm:claims:client:macaddress":"00-16-41-34-2C-A6", "oracle:idm:claims:client:imei":"010113006310121" }, "oracle:idm:claims:client:jailbroken":false, "oracle:idm:claims:client:geolocation":"+40.689060,-74.044636", "oracle:idm:claims:client:networktype":"PHONE_CARRIER", "oracle:idm:claims:client:vpnenabled":false, "oracle:idm:claims:client:ostype":"iPhone OS", "oracle:idm:claims:client:phonecarriername":"AT&T", "oracle:idm:claims:client:locale":"EN-US", "oracle:idm:claims:client:osversion":"4.0" } "handles": {"oaam.session":"21_9e2e728b3180a7a3c9b80cef542c58339c2c7ed0e1a3ba66db4807ef1cf1523d", "oaam.device":"23_3a958d144b04f91c53b4236ed9f880357122df946f14ba21d957be5b49ef529b" } }'
リクエスト
curl -H "Content-Type: application/json" --request POST http://hostname.example.com:18001/idaas_rest/rest/mobilejwtauthentication/authenticate -H 'X-IDAAS-SERVICEDOMAIN:MobileServiceDomain' -H 'X-IDAAS-REST-AUTHORIZATION: UIDPASSWORD cred="T0lDU2VjdXJpdHlBc...TFPQzZxdw=="' -d '{ "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL" "X-Idaas-Rest-Subject-Username":"jdoe", "X-Idaas-Rest-Subject-Password":"password123", "X-Idaas-Rest-New-Token-Type-To-Create":"USERTOKEN", "OAM-Token-Type-To-Create":"USERTOKEN::OAMMT", "deviceProfile":
{ "oracle:idm:claims:client:sdkversion":"11.1.2.0.0", "hardwareIds": { "oracle:idm:claims:client:udid":"0e83ff56a12a9cf0c7", "oracle:idm:claims:client:phonenumber":"1-650-555-1234", "oracle:idm:claims:client:macaddress":"00-16-41-34-2C-A6", "oracle:idm:claims:client:imei":"010113006310121" }, "oracle:idm:claims:client:jailbroken":false, "oracle:idm:claims:client:geolocation":"+40.689060,-74.044636", "oracle:idm:claims:client:networktype":"PHONE_CARRIER", "oracle:idm:claims:client:vpnenabled":false, "oracle:idm:claims:client:ostype":"iPhone OS", "oracle:idm:claims:client:phonecarriername":"AT&T", "oracle:idm:claims:client:locale":"EN-US", "oracle:idm:claims:client:osversion":"4.0" } "handles": {"oaam.session":"21_9e2e728b3180a7a3c9b80cef542c58339c2c7ed0e1a3ba66db4807ef1cf1523d", "oaam.device":"23_3a958d144b04f91c53b4236ed9f880357122df946f14ba21d957be5b49ef529b" } }'
ナレッジベース認証(KBA)は、ユーザーが少なくとも1つの質問に答えることを求められる認証スキームです。
デバイス登録リクエスト
curl -H "Content-Type: application/json" --request POST http://server1.domain.com:14100/ oic_rest/rest/mobileoamauthentication/register -H 'X-IDAAS-SERVICEDOMAIN:MobileServiceDomain' -d '{"X-Idaas-Rest-New-Token-Type-To-Create":"CLIENTREGHANDLE", "X-Idaas-Rest-Subject-Password":"welcome1", "deviceProfile":{"oracle:idm:claims:client:sdkversion":"11.1.2.0.0","hardwareIds": {"oracle:idm:claims:client:udid":"0e83ff56a12a9cf0c7", "oracle:idm:claims:client:phonenumber":"1-650-555-1234", "oracle:idm:claims:client:macaddress":"00-16-41-34-2C-A6", "oracle:idm:claims:client:imei":"010113006310121"}, "oracle:idm:claims:client:jailbroken":false, "oracle:idm:claims:client:geolocation":"+40.689060,-74.044636", "oracle:idm:claims:client:networktype":"PHONE_CARRIER", "oracle:idm:claims:client:vpnenabled":false, "oracle:idm:claims:client:ostype":"iPhone OS", "oracle:idm:claims:client:phonecarriername":"AT&T", "oracle:idm:claims:client:locale":"EN-US", "oracle:idm:claims:client:osversion":"4.0"}, "X-Idaas-Rest-Subject-Username":"JohnS","clientId":"OICSSOApp", "X-Idaas-Rest-Subject-Type":"USERCREDENTIAL"}'
KBA質問を含むレスポンス
{"handles":{"oaam.device":{"expirationTSInSec":1352076952,"value":"563_ 23552f26e974030dc16018cc6b76237432c363d47a019cec8c73aa318caf2f97"}, "oaam.session":{"expirationTSInSec":1350609323,"value":"561_ 419dc5ee6b325535dd026c882ac67cabc271dd7e0297ab73c74573a49dec233a"}, "oic.multiStepAuthnSessionHandle":{"expirationTSInSec":1350606623,"value": "eyJvcmlnU2VjdXJpdHlFdmVudHMiOlsiUkVHX1NFQ1VSSVRZX0NMSUVOVF9BUFAiXSwib3JpZ1JlcU1hc CI6eyJjbGllbnRJUEFkZHJlc3MiOiIxMC4xMzMuMTM5LjE0MyIsIlgtSWRhYXMtUmVzdC1TdWJqZWN0LVB hc3N3b3JkIjoid2VsY29tZTEiLCJYLUlkYWFzLVJlc3QtTmV3LVRva2VuLVR5cGUtVG8tQ3JlYXRlIjoiQ 0xJRU5UUkVHSEFORExFIiwiWC1JZGFhcy1SZXN0LVN1YmplY3QtVXNlcm5hbWUiOiJKb2huUyIsImNsaWV udElkIjoiT0lDU1NPQXBwIiwiWC1JZGFhcy1SZXN0LVN1YmplY3QtVHlwZSI6IlVTRVJDUkVERU5USUFMI n0sImNvbnRyYWN0TmFtZSI6Ik1vYmlsZVNlcnZpY2VEb21haW4iLCJzZXJ2aWNlSWRFUCI6IlwvbW9iaWx lb2FtYXV0aGVudGljYXRpb24ifQ=="}},"message": "The Challenge Action is triggered", "multi-step-challenge-question":{"challengeType":"KBA","locale":"en", "questionRefId":"112","questionStr": "What was the year of your favorite sports moment?"}, "oicErrorCode":"IDAAS-61010","status":"REQUIRE_MULTI_STEP_AUTHN"}
KBA回答を含むデバイス登録リクエスト
curl -H "Content-Type: application/json" --request POST http://server1.domain.com:14100/oic_rest/rest/mobileoamauthentication/register -H 'X-IDAAS-SERVICEDOMAIN:MobileServiceDomain' -d '{"X-Idaas-Rest-New-Token-Type-To-Create":"CLIENTREGHANDLE", "X-Idaas-Rest-Subject-Password":"welcome1","deviceProfile": {"oracle:idm:claims:client:sdkversion":"11.1.2.0.0","hardwareIds": {"oracle:idm:claims:client:udid":"0e83ff56a12a9cf0c7", "oracle:idm:claims:client:phonenumber":"1-650-555-1234", "oracle:idm:claims:client:macaddress":"00-16-41-34-2C-A6", "oracle:idm:claims:client:imei":"010113006310121"}, "oracle:idm:claims:client:jailbroken":false, "oracle:idm:claims:client:geolocation":"+40.689060,-74.044636", "oracle:idm:claims:client:networktype":"PHONE_CARRIER", "oracle:idm:claims:client:vpnenabled":false, "oracle:idm:claims:client:ostype":"iPhone OS", "oracle:idm:claims:client:phonecarriername":"AT&T", "oracle:idm:claims:client:locale":"EN-US", "oracle:idm:claims:client:osversion":"4.0"}, "X-Idaas-Rest-Subject-Username":"JohnS","multi-step-challenge-answer": {"challengeType":"KBA","locale":"EN-US","answerStr": "moment","questionRefId":"112"}, "handles":{"oaam.session":"561_419dc5ee6b325535dd026c882ac67cabc271dd7e0297ab73c74573a49dec233a", "oaam.device":"563_23552f26e974030dc16018cc6b76237432c363d47a019cec8c73aa318caf2f97", "oic.multiStepAuthnSessionHandle": "eyJvcmlnU2VjdXJpdHlFdmVudHMiOlsiUkVHX1NFQ1VSSVRZX0NMSUVOVF9BUFAiXSwib3JpZ1JlcU1hc CI6eyJjbGllbnRJUEFkZHJlc3MiOiIxMC4xMzMuMTM5LjE0MyIsIlgtSWRhYXMtUmVzdC1TdWJqZWN0LVB hc3N3b3JkIjoid2VsY29tZTEiLCJYLUlkYWFzLVJlc3QtTmV3LVRva2VuLVR5cGUtVG8tQ3JlYXRlIjoiQ 0xJRU5UUkVHSEFORExFIiwiWC1JZGFhcy1SZXN0LVN1YmplY3QtVXNlcm5hbWUiOiJKb2huUyIsImNsaWV udElkIjoiT0lDU1NPQXBwIiwiWC1JZGFhcy1SZXN0LVN1YmplY3QtVHlwZSI6IlVTRVJDUkVERU5USUFMI n0sImNvbnRyYWN0TmFtZSI6Ik1vYmlsZVNlcnZpY2VEb21haW4iLCJzZXJ2aWNlSWRFUCI6IlwvbW9iaWx lb2FtYXV0aGVudGljYXRpb24ifQ=="},"X-Idaas-Rest-Subject-Type":"USERCREDENTIAL"}'
クライアント登録ハンドルが含まれるレスポンス
{"X-Idaas-Rest-Token-Value":"eyJvcmFjbGU6aWRtOmNsYWltczpjbGllbnQ6c2RrdmVyc2lvbiI6I jExLjEuMi4wLjAiLCJ0b2tlblR5cGUiOiJDTElFTlRSRUdIQU5ETEUiLCJvcmFjbGU6aWRtOmNsYWltczp jbGllbnQ6bWFjYWRkcmVzcyI6IjAwLTE2LTQxLTM0LTJDLUE2IiwicmVnVXNlciI6IkpvaG5TIiwiaXNzI joiTW9iaWxlT0FNQXV0aGVudGljYXRpb24iLCJvcmFjbGU6aWRtOmNsYWltczpjbGllbnQ6b3N0eXBlIjo iaVBob25lIE9TIiwib3JhY2xlOmlkbTpjbGFpbXM6Y2xpZW50OmltZWkiOiIwMTAxMTMwMDYzMTAxMjEiL CJyZWdUUyI6MTM1MDYwNTc4MCwianRpIjoiYTNlMWM1MjYtYjBjMS00ZDg0LThjYzAtZjYyMDNmYjM4NWV lIiwib3JhY2xlOmlkbTpjbGFpbXM6Y2xpZW50Om9zdmVyc2lvbiI6IjQuMCIsImNsaWVudElkIjoiT0lDU 1NPQXBwIn0=.qA6Ez+gXNdLbk/hD5LRVDaBRK3t6b6IOOk7Z8iwW03s=", "X-Idaas-Rest-Token-Type":"CLIENTREGHANDLE", "handles":{"oaam.device":{"expirationTSInSec":1352077009,"value":"563_ 23552f26e974030dc16018cc6b76237432c363d47a019cec8c73aa318caf2f97"}, "oaam.session":{"expirationTSInSec":1350609380,"value":"561_ 419dc5ee6b325535dd026c882ac67cabc271dd7e0297ab73c74573a49dec233a"}}}