35.2.1 アイデンティティ・ドメインの作成

アイデンティティ・ドメインは、テナントの概念に対応します。すべてのクライアントおよびリソース・サーバーがアイデンティティ・ドメインに作成されます。

アイデンティティ・ドメインを作成するためにcurlコマンドで使用される重要なパラメータは、次のとおりです。
  • identityProvider: 認証を実行する対象となるUserIdentityStore (パスワード付与フロー)。指定しない場合、これはDefaultIdentityStore - "UserIdentityStore1"にデフォルト設定されます

  • errorPageURL: 3-leggedフローの場合に使用されるカスタム・エラー・ページ。指定しない場合、これはOAMサーバーのエラー・ページにデフォルト設定されます。

  • consentPageURL: 3-leggedフローの場合に使用される顧客承認ページ。指定しない場合、OAMに付属するカスタム承認ページが使用されます。

  • tokenSettings: トークンのデフォルトは、IdentityDomainレベルで維持されます。tokenSettingsを指定しない場合、ACCESS_TOKENその他のデフォルト値が使用されます。

    ノート:

    RefreshTokenをAccessTokenとともに生成する必要がある場合、ACCESS_TOKEN設定でrefreshTokenEnabled=trueを設定する必要があります。

CRUD操作のエンドポイント:

http:<AdminServerHost:Port>/oam/services/rest/ssa/api/v1/oauthpolicyadmin/oauthidentitydomain

ノート:

REST API HTTPリクエストではContent-Type:application/jsonを使用します。

アイデンティティ・ドメインを作成する2つの方法があります

  • 簡易: このモードでは、作成するIdentityDomainの名前および説明のみが使用されます。残りの値はデフォルトが設定されます。

  • 詳細: このモードでは、特定の値を異なるパラメータに付与できます。

  1. 簡易モードでドメインを作成するためのサンプルのcurlコマンドは、次のとおりです。
    curl -i -H 'Content-Type: application/x-www-form-urlencoded' -H 'Authorization:Basic d2VibG9naWM6V2VsY29tZTE=' 
    --request POST http:<Servername>:<Port>/oam/services/rest/ssa/api/v1/oauthpolicyadmin/oauthidentitydomain -d 
    '{"name":"TestDomain","description":"Test Domain"}'
    
    
  2. 詳細モードでスコープを使用してドメインを作成するためのサンプルのcurlコマンドは、次のとおりです。
    curl -i -H 'Content-Type: application/x-www-form-urlencoded' -H 'Authorization:Basic d2VibG9naWM6V2VsY29tZTE=' --request 
    POST http:<Servername>:<Port>/oam/services/rest/ssa/api/v1/oauthpolicyadmin/oauthidentitydomain -d 
    '{"name":"TestDomain","identityProvider":"UserIdentityStore1","description":"Test Domain"}'
    
    HTTP/1.1 200 OK
    Date: Fri, 28 Jul 2017 13:01:41 GMT
    Content-Length: 860
    Content-Type: text/plain
    X-ORACLE-DMS-ECID: 78d30c19-07b6-4ac2-a39b-f1cbd8182ebb-000003fd
    X-ORACLE-DMS-RID: 0
    Set-Cookie: JSESSIONID=_oGJSc7Vt2vIWLNQ_uwYCZz151JqOXewJRIkyvstnnio8WsNborT!-1875566563; path=/; HttpOnly
    
    Sucessfully created entity - OAuthIdentityDomain, detail - OAuth Identity Domain :: Name - TestDomain, 
    Id - 1636d0492f36447087780abdfdc4c15f, Description - Test Domain, TrustStore Identifiers - [TestDomain], 
    Identity Provider - UserIdentityStore1, TokenSettings - [{"tokenType":"ACCESS_TOKEN","tokenExpiry":3600,"lifeCycleEnabled":false,"refreshTokenEnabled":false, "refreshTokenExpiry":86400,"refreshTokenLifeCycleEnabled":false}, 
    {"tokenType":"AUTHZ_CODE","tokenExpiry":3600,"lifeCycleEnabled":false,"refreshTokenEnabled":false,"refreshTokenExpiry":86400,
    "refreshTokenLifeCycleEnabled":false}, {"tokenType":"SSO_LINK_TOKEN","tokenExpiry":3600,"lifeCycleEnabled":false,
    "refreshTokenEnabled":false,"refreshTokenExpiry":86400,"refreshTokenLifeCycleEnabled":false}], 
    ConsentPageURL - /oam/pages/consent.jsp, ErrorPageURL - /oam/pages/error.jsp, CustomAttrs - null

    OAuth REST APIの詳細は、『Oracle Access ManagerでのOAuth REST API』を参照してください。