複数の仮想ホストの設定

Oracle Identity Cloud Serviceと統合されている同じEssbaseインスタンスに対して複数のアクセス・ポイントをサポートする必要がある場合は、次の手順に従って、Essbase用に複数のリダイレクトURIをIDCS機密アプリケーションで登録します。

複数のリダイレクトURLをIdentity Cloud Serviceに登録する必要があります。ただし、このタスクにはIdentity Cloud Serviceコンソールではなく、IDCS REST APIを使用します。

注意: 次のステップを実行した後は、IDCSコンソールを使用して機密アプリケーションを編集しないでください。そうすると、アプリケーションが上書きされ、複数のリダイレクトURLが失われることになります。

  1. IDCS REST APIを使用し、clientidおよびclient secretを使用してOAuthトークンを生成します。次の例では、jqコマンドライン・ツールを使用してcURLコマンドを処理し、アクセス・トークンを環境変数として作成します。
    export ACCESS_TOKEN=`curl -u "<clientid>:<clientsecret>" -H 'Conset=UTF-8' --request POST https://<idcsguid>.identity.oraclecloud.com/oauth2/v1/token -d 'grant_type=client_credentials&scope=urn:opc:idm:_myscopes_' | jq -raw-output '.access_token'
  2. 変更するアプリケーションのアプリケーションIDを取得します。次の例では、ターゲット・アプリケーション名用のフィルタを追加して、アプリケーションのリストを問い合せます(フィルタがアプリケーションを1つのみ返すと仮定)。
    export APP_ID=`curl -X GET -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type:application/scim+json" https://<idcsguid>.identity.oraclecloud.com/admin/v1/Apps?filter=displayName+co+"Essbase+21c" | jq -raw-output '.Resources[0].id'
  3. redirectUris、postLogoutRedirectUrisおよびlogoutUrisの置換を定義するpatch.jsonファイルを作成します。ポート番号はURIに追加されることに注意してください。
    "schemas":
            [          
            "urn:ietf:params:scim:api:messages:2.0:PatchOp"
          ],  
         "Operations": [
          {
            "op": "replace",
            "path": "redirectUris",
            "value":
          [   
                        ["https://192.0.2.1:443/essbase/redirect_uri" |
            "https://192.0.2.1:443/essbase/redirect_uri"],  
                        ["https://192.0.2.18:443/essbase/redirect_uri" |
            "https://192.0.2.18/essbase/redirect_uri"]  
              ]
          },          
            {
            "op": "replace",
            "path": "postLogoutRedirectUris", 
            "value":
          [   
                        ["https://192.0.2.1:443/essbase/jet/logout.html" |
            "https:/192.0.2.1:443/essbase/jet/logout.html"],  
                        ["https://192.0.2.18:443/essbase/jet/logout.html" |
            "https://192.0.2.18/essbase/jet/logout.html"]
                ]
          },      
            {         
            "op": "replace",
            "path": "logoutUri",
            "value": "/essbase/jet/logout.html"   }   ]
        }
  4. patch.jsonを使用してpatchコマンドを発行します。
    curl -X PATCH -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type:application/scim+json" [https://<idcsguid>.identity.oraclecloud.com|https://%3Cidcsguid%3E.identity.oraclecloud.com/]/admin/v1/Apps/$APP_ID --data
          @patch.json