メインコンテンツまでスキップ

OAuth接続

OAuth接続では、Kurocoから外部APIや外部MCPサーバーへOAuthで接続するための設定を管理します。 保存した接続は、カスタム処理・バッチのapiプラグインでoauth_connectionに名前を指定して利用します。利用方法はカスタム処理から外部APIにOAuthで接続できますか?を参照してください。リクエストの送信時に、Kurocoが取得・保存したアクセストークンを付与します。

OAuth接続はサイト全体で共有される接続です。メンバーごとのトークンは扱いません。

備考

この画面は、Kurocoから外部システムへ接続するための設定です。外部のアプリケーションからKuroco自身のAPIやAdmin MCPへログインさせる設定はOAuth Authorization Server、KurocoのログインにOAuthプロバイダーを利用する設定はOAuth SPで行います。

OAuth接続一覧​

確認方法​

[外部システム連携] -> [OAuth接続]をクリックします。

Image from Gyazo

備考

OAuth接続の画面を表示・操作できるのは、スーパーユーザーのみです。それ以外の管理者には、サイドメニューに[OAuth接続]が表示されません。

項目説明​

Image from Gyazo

項目説明
追加新しいOAuth接続を作成します。OAuth接続の編集画面が表示されます。
IDOAuth接続のIDです。
名前接続名です。クリックするとOAuth接続の編集画面が表示されます。
接続先の種類外部API(手動設定)または外部MCPサーバー(自動探索)が表示されます。
リソースURLトークンを付与する接続先のURLです。
グラントタイプトークンの取得に使用するグラントタイプです。Authorization Code + PKCE、Client Credentials、JWT Bearerのいずれかが表示されます。
ステータス接続の状態です。詳しくはステータスを参照してください。
有効期限保存されているアクセストークンの有効期限です。

ステータス​

表示説明
未接続トークンを取得していない状態です。作成直後や、設定を変更して保存した後はこの状態になります。
有効トークンを取得済みで、利用できる状態です。
期限切れアクセストークンの有効期限を過ぎた状態です。apiプラグインで利用するときに、リフレッシュトークンがある場合はトークンを更新し、Client Credentials・JWT Bearerではトークンを再取得します。Authorization Code + PKCEでリフレッシュトークンがない場合は要再認可になります。
要再認可トークンの更新・再取得ができず、再度[接続・再認可]が必要な状態です。
失効済み[失効する]を実行した状態です。利用するには再度[接続・再認可]が必要です。

OAuth接続の編集​

編集方法​

OAuth接続一覧で、新規作成する場合は[追加]を、既存の接続を編集する場合は[名前]をクリックします。

Image from Gyazo

項目説明​

編集画面は、上から次の順に表示されます。接続状態と、接続・認可の操作・失効・削除のボタンは、保存済みの接続でのみ表示されます。

  1. 接続状態
  2. 基本設定
  3. クライアント情報
  4. 認可サーバー
  5. JWT Bearer
  6. [保存する]・[戻る]
  7. 接続・認可の操作
  8. 失効・削除

各項目は、選択した[接続先の種類]、[グラントタイプ]、[クライアント登録方式]、[クライアント認証方式]に応じて、必要なもののみが表示されます。

接続状態​

保存済みの接続を開いた場合に、画面上部に表示されます。

Image from Gyazo

項目説明
ステータス接続の状態です。詳しくはステータスを参照してください。
有効期限保存されているアクセストークンの有効期限です。

基本設定​

Image from Gyazo

項目説明
名前apiプラグインのoauth_connectionに指定する接続名です。英字で始まり、英数字・_・-を使用した128文字以内で入力します。サイト内で重複する名前は使用できません。
接続先の種類外部API(手動設定):エンドポイントを手動で設定します。
外部MCPサーバー(自動探索):保存後に[メタデータを取得]を実行すると、認可サーバーの情報が自動で設定されます。
グラントタイプトークンの取得方法を選択します。
Authorization Code + PKCE:管理者がブラウザーで外部サービスの同意画面を操作して認可します。
Client Credentials:クライアントIDとクライアントシークレットでトークンを取得します。
JWT Bearer:RSA秘密鍵で署名したJWTでトークンを取得します。
[接続先の種類]で外部MCPサーバー(自動探索)、または[クライアント登録方式]でClient ID Metadata Document (CIMD)を選択した場合は、Authorization Code + PKCEに固定され、「外部MCPサーバーとCIMDではAuthorization Code + PKCEのみ使用できます。」と表示されます。
リソースURLトークンを送信する接続先のHTTPSのURLです。公開されている443番ポートのURLを、クエリを含めずに入力します。
トークンは、このURLと同じオリジンで、このURLのパスおよびその配下のパスへのリクエストにのみ付与されます。
スコープ認可サーバーへ要求するスコープをスペース区切りで入力します。
外部MCPサーバーでは、メタデータの取得時に認可サーバーが示すスコープが追加されます。

クライアント情報​

Image from Gyazo

項目説明
クライアント登録方式手動登録:外部サービス側で登録したクライアントの情報を入力します。
Client ID Metadata Document (CIMD):認可サーバーが対応している場合に使用できます。サイト固有のメタデータURLがクライアントIDになるため、クライアントIDやシークレット、リダイレクトURIを認可サーバーに登録する必要はありません。
CIMD client_idClient ID Metadata Document (CIMD)を選択した場合に表示されます。クライアントIDとして使用されるサイト固有のメタデータURLです。[コピー]で値をコピーできます。
クライアントID (Client ID)手動登録を選択した場合に表示されます。外部サービス側で発行されたクライアントIDを入力します。
クライアント認証方式手動登録を選択した場合に表示されます。トークンエンドポイントでのクライアント認証方式を選択します。
none:クライアントシークレットを送信しません。
client_secret_post:クライアントシークレットをリクエスト本文で送信します。
client_secret_basic:クライアントシークレットをBasic認証で送信します。
クライアントシークレット手動登録で、[クライアント認証方式]がnone以外の場合に表示されます。noneでも、クライアントシークレットが保存済みの場合は表示されます。
外部サービス側で発行されたクライアントシークレットを入力します。保存済みの値は画面に表示されません。空欄のまま保存すると保存済みの値を維持し、値を入力して保存すると入力した値に置き換えます。
保存済みの値を削除するクライアントシークレットが保存済みの場合に表示されます。チェックを入れて保存すると、保存済みのクライアントシークレットを削除します。
登録するリダイレクトURI[グラントタイプ]がAuthorization Code + PKCEで、手動登録を選択した場合に表示されます。外部サービス側のクライアント設定へ登録するリダイレクトURIです。[コピー]で値をコピーできます。

認可サーバー​

Image from Gyazo

項目説明
認可サーバーのIssuer認可応答にissを返す認可サーバーでは指定します。
手動登録の外部MCPサーバーでは必須です。クライアントを登録した認可サーバーのIssuerを入力します。メタデータの取得時に、取得したIssuerと一致しない場合はエラーになります。作成後は変更できないため、別のIssuerを使う場合は接続を新規作成します。
CIMDの外部MCPサーバーでは、メタデータの取得時に取得した値に置き換わります。
認可エンドポイント[グラントタイプ]がAuthorization Code + PKCEの場合に表示されます。認可エンドポイントのURLです。
トークンエンドポイントトークンの取得・更新に使用するエンドポイントのURLです。
失効エンドポイント(任意)トークンの失効に使用するエンドポイントのURLです。設定している場合、[失効する]の実行時に外部サービスへトークンの失効を要求します。

外部MCPサーバーでは、保存後に[メタデータを取得]を実行すると認可エンドポイント・トークンエンドポイントが自動で設定され、失効エンドポイントも提供されていれば設定されます。

JWT Bearer​

[グラントタイプ]でJWT Bearerを選択した場合に表示されます。

Image from Gyazo

項目説明
JWTのSubjectJWTのsubに設定する値を入力します。
JWT audience(任意)JWTのaudに設定する値を入力します。空欄の場合はトークンエンドポイントを使用します。ログインサーバーのURLを指定する必要があるサービスもあります。
秘密鍵 (PEM)JWTの署名に使用するRSA秘密鍵をPEM形式で入力します。保存済みの値は画面に表示されません。空欄のまま保存すると保存済みの値を維持し、値を入力して保存すると入力した値に置き換えます。
保存済みの値を削除する秘密鍵が保存済みの場合に表示されます。チェックを入れて保存すると、保存済みの秘密鍵を削除します。

保存​

ボタン説明
保存する入力した内容を保存します。
戻るOAuth接続一覧に戻ります。

接続・認可の操作​

保存済みの接続でのみ表示されます。「設定の変更を保存してから実行してください。認可コード方式では、認可サーバーで続行して許可を与えると接続が完了します。」と表示されます。

Image from Gyazo

ボタン説明
メタデータを取得[接続先の種類]が外部MCPサーバー(自動探索)の場合に表示されます。MCPサーバーのProtected Resource Metadataと、認可サーバーのAuthorization Server Metadata(またはOpenID Connect Discovery)を取得し、認可サーバーの情報を設定します。実行すると保存済みのトークンは削除され、ステータスは未接続になります。
接続・再認可トークンを取得します。Authorization Code + PKCEでは、画面上部に[認可サーバーで続行]が表示されます。グラントタイプごとの動作は認可の手順を参照してください。

外部MCPサーバーでは、[保存する]の後に[メタデータを取得]を実行してから[接続・再認可]を実行します。メタデータを取得すると「認可サーバーのメタデータを取得しました。」と表示され、[認可エンドポイント]と[トークンエンドポイント]が設定されます。

注意

認可サーバーがPKCEのS256に対応していない場合は、メタデータの取得に失敗し、接続できません。 Client ID Metadata Document (CIMD)を選択していて認可サーバーがCIMDに対応していない場合も、メタデータの取得に失敗します。この場合は手動登録を使用してください。

失効・削除​

保存済みの接続でのみ表示されます。

Image from Gyazo

ボタン説明
失効するトークンを無効にし、設定は残します。確認ダイアログで「トークンを失効させ、接続を解除します。よろしいですか?」と表示されます。ステータスは失効済みになります。
[失効エンドポイント]を設定している場合は、外部サービスへもトークンの失効を要求します。外部サービスへの失効要求が確認できなかった場合もKuroco内のトークンは削除され、エラーメッセージが表示されます。
削除設定と保存済みの資格情報をサイトから削除します。確認ダイアログで「削除してもよろしいですか?」と表示されます。

[メタデータを取得]、[接続・再認可]、[失効する]、[削除]は、保存済みの設定に対して実行されます。設定を変更した場合は、先に[保存する]をクリックしてください。

危険

[削除]では、外部サービス側のトークンは失効されません。外部サービス側のトークンも失効させる場合は、削除の前に[失効する]を実行してください。

認可の手順​

Authorization Code + PKCE​

  1. [接続・再認可]をクリックします。
  2. 画面上部に表示された[認可サーバーで続行]をクリックします。
  3. 外部サービスの同意画面が表示されます。外部サービスにログインし、アクセスを許可します。
  4. Kurocoの中継ページが表示されます。[管理画面で接続を完了する]をクリックします。
  5. OAuth接続の編集画面に戻ります。[ステータス]が有効になったことを確認します。
注意

認可は、[接続・再認可]をクリックした管理者が同じブラウザーで、15分以内に完了する必要があります。時間が経過した場合や別のブラウザーで操作した場合は、再度[接続・再認可]から操作してください。

Client Credentials / JWT Bearer​

[接続・再認可]をクリックすると、その場でトークンエンドポイントからトークンを取得します。「接続しました。」と表示され、[ステータス]が有効になったことを確認します。

操作に失敗した場合​

「OAuth接続の操作に失敗しました(理由)。設定を確認してください。」と表示されます。括弧内の理由を参考に、設定内容や接続先サービス側の設定を確認してください。

Admin MCPからの操作​

OAuth接続はAdmin MCPからも、一覧・詳細の取得、作成、更新、削除、メタデータの取得、接続・再認可、失効を操作できます。Admin MCPでの操作にも、スーパーユーザーが必要です。OAuthで認証する場合は、mcp:adminのスコープを使用します。

Admin MCPで取得できる情報には、クライアントシークレット・秘密鍵・トークンは含まれません。 Authorization Code + PKCEの接続では、Admin MCPから接続・再認可を実行してもトークンは取得されず、OAuth接続の編集画面のURLが返されます。管理者がブラウザーでそのURLを開き、[接続・再認可]から認可を完了してください。

注意点​

設定を変更した場合​

名前以外の設定や秘密情報を変更して保存すると、保存済みのトークンは削除され、[ステータス]は未接続に戻ります。外部MCPサーバーでは、取得済みのメタデータも破棄されます。 変更後は、必要に応じて[メタデータを取得]を実行し、[接続・再認可]でトークンを取得し直してください。

名前のみを変更した場合は、保存済みのトークンを維持します。ただし、apiプラグインで指定しているoauth_connectionの値も変更する必要があります。

対応していない機能​

現在、OAuth接続では次の機能に対応していません。

  • メンバーごとのトークン
  • Dynamic Client Registration(DCR)
  • 外部MCPサーバーのツールの呼び出し

関連ドキュメント​


サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。