---
schema_version: "1"
id: 4f3bb12b16fdc8dbdd51485c68d42704292dc1997ddaf4a73270883dcbc3a983
title: クライアントアプリケーションの移行
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/api-manager/latest/migrate-client-apps.md
canonical_url: https://docs.mulesoft.com/jp/api-manager/latest/migrate-client-apps
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 9eed64e8bb858874585910175171fbf7a36a3b867bb0812849cafbf63269abe4
description: MuleSoft Documentation Site
release: 2.x
latest: true
---
# クライアントアプリケーションの移行

以前に異なる API 管理ソリューションを使用していた場合には、アプリケーションのクライアントログイン情報が Anypoint Platform の外部で管理されていることがあります。Anypoint Platform でログイン情報を使用するためには、これらのクライアントアプリケーションのクライアント ID とクライアントシークレットログイン情報を使用して、事前にクライアントアプリケーションを Anypoint Platform に移行する必要があります。

クライアントアプリケーションでは、組織が Anypoint Platform クライアントプロバイダーまたは外部クライアントプロバイダーに関連付けられている API をコンシュームできます。それぞれのシナリオの手順は異なります。

- [Anypoint Platform クライアントプロバイダーを使用している API でのクライアントアプリケーションの移行](#migrate_with_internal)
- [外部クライアントプロバイダーを使用している API でのクライアントアプリケーションの移行](#migrate_with_external)

## [](#前提条件)前提条件

クライアントアプリケーションを移行する前に:

- 必要なトークンとログイン情報を取得します。
    
    - 移行するクライアントアプリケーションのクライアント ID とクライアントシークレット
    - Anypoint Platform [トークン](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/access-management-api/minor/1.0/pages/Authentication/)
- [スコープと制限](#考慮事項)​を確認してください。

## [](#considerations)スコープと制限

クライアントアプリケーションを Anypoint Platform に移行する前に、次のスコープと制限を確認してください。

- アプリケーションがコンシュームする API の組織で外部クライアントプロバイダー (例: PingFederate や Okta) が登録されている場合は、​[「外部クライアントプロバイダーが登録されている組織」](#external_client)​を参照してください。
- アプリケーションのクライアント ID やクライアントシークレットを更新しようとしないでください。
    
    この機能はサポートされていません。
- クライアント ID は、Anypoint Platform 内では一意です。2 つの異なるアカウントで同じクライアント ID を使用しないでください。
    
    重複を回避するため、アカウントに対しては一意のクライアント ID を指定してください。
- 同じユーザーを使用して 500 件を超えるアプリケーションを作成しないでください。
- 重複する名前のアプリケーションを作成しないでください。
- クライアント ID を変更する場合は、必ず先にクライアントアプリケーションを削除してから再登録してください。
- クライアントログイン情報がクライアントプロバイダー上の既存の組織 ID のログイン情報と一致する場合、アプリケーションはそのクライアントに関連付けられます。
    
    反対に、指定したクライアントログイン情報が一致しない場合、クライアントアプリケーションは既存のクライアントには関連付けられずに作成されます。

## [](#migrate_with_internal)Anypoint Platform クライアントプロバイダーを使用している API でのクライアントアプリケーションの移行

クライアントアプリケーションを移行するには、次の手順を実行します。

1. テキストエディターを開いて次のコマンドを貼り付けます。
    
    ```text
    curl --location --request POST 'https://anypoint.mulesoft.com/exchange/api/v1/organizations/:orgId/applications' \
    --header 'Authorization: Bearer <omitted>' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "clientId": <myClientId>,
        "clientSecret": <myClientSecret>,
        "grantTypes": [],
        "name": <myApplicationName>,
        "redirectUri": []
    }'
    ```
2. `orgId`​ パラメーターはルート組織の ID に、本文のコンテンツは適切なアプリケーション​[プロパティ](#properties)​に置き換えます。
3. コマンドプロンプトに対してこのコマンドを実行します。

## [](#migrate_with_external)外部クライアントプロバイダーを使用している API でのクライアントアプリケーションの移行

外部クライアントプロバイダーが登録されている組織に対してアプリケーションを作成する場合は、API インスタンス ID (API Manager UI で取得可能) を使用して、コンシュームする API に直接アプリケーションを関連付けることができます。

PingFederate 外部クライアントプロバイダーまたは Anypoint Platform クライアントプロバイダーを使用している場合は、API の参照時にクライアント ID とクライアントシークレットを含めることができます。OpenID 動的クライアント登録を使用して登録される Okta や Keycloak などのプロバイダーを使用している場合は、クライアント ID とクライアントシークレットログイン情報を定義することはできません。

クライアントアプリケーションを移行するには、次の手順を実行します。

1. テキストエディターを開いて次のコマンドを貼り付けます。
    
    ```text
    curl --location --request POST 'https://anypoint.mulesoft.com/exchange/api/v1/organizations/:orgId/applications?apiInstanceId=:myApiInstanceId' \
    --header 'Authorization: Bearer <omitted>' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "clientId": <myIdpClientID>,
        "clientSecret": <myIdpClientSecret>,
        "grantTypes": [
            <grant type item, for example: client_credentials>
        ],
        "name": <myApplicationName>,
        "redirectUri": [
            "https://anypoint.mulesoft.com/apiplatform/:orgId/authentication/oauth2.html",
            "https://anypoint.mulesoft.com/apiplatform/:orgId/admin/authentication/oauth2.html",
            "https://api-notebook.anypoint.mulesoft.com/authenticate/oauth.html"
        ]
    }'
    ```
2. コマンドスニペットの ​`orgId`​ パラメーターは組織の ID に、​`apiInstanceId`​ は API インスタンス ID に、本文のコンテンツは適切なアプリケーション​[プロパティ](#プロパティ)​に置き換えます。
3. コマンドプロンプトに対してこのコマンドを実行します。

## [](#properties)移行コマンドプロパティリファレンス

移行コマンドのプロパティには、以下の推奨事項に基づいて値を指定してください。

- `clientId`​: <クライアント ID>
- `clientSecret`​: <クライアントシークレット>
- (省略可能)​`description`​: <アプリケーション情報の説明>
    
    このプロパティはアプリケーションページに表示されます。
- `name`​: <作成するアプリケーションの名前>
    
    このプロパティは、アクセスを要求する前にアプリケーションを選択するときに表示されます。
- `redirectUri`​: <OAuth 2.0 クライアントとして使用するアプリケーションのリダイレクト URI を含む配列>
- (省略可能) ​`url`​: <クライアントアプリケーションの URL>
    
    このプロパティはアプリケーションページに表示されます。
- `grantTypes`​: <Anypoint Platform クライアントプロバイダーの場合は空白の配列、外部クライアントプロバイダーの場合は可能な値の配列>
    
    - `Resource Owner Grant`​: "password"
    - `Implicit Grant`​: "implicit"
    - `Client Credentials Grant`​ "client\_credentials"
    - `Authorization Code`​: "authorization\_code"
    - `Refresh Token`​: "refresh\_token" (この許可種別を使用するには認証コードが必要です。)

外部クライアントプロバイダーでサポートされる許可種別については、クライアントプロバイダーのドキュメントを参照してください。