OAuth 2.0 認証
概要
OAuth 2.0 は、すべての axe MCP Server ユーザーが利用できる API キー認証の代替手段です。PKCE を使用した認可コードフローを採用し、トークンを OS のキーチェーンに安全に格納するため、一度認証すれば CLI が自動的にトークンを更新します。
認証は、 @deque/axe-authというスタンドアロン CLI によって管理され、これはホストマシンに個別にインストールされます。
前提条件
- Node.js 22 LTS 以降
- Docker のインストールおよび実行
ステップ 1: 認証
ログインコマンドを実行します:
npx @deque/axe-auth loginCLI は次のことを行います:
- デフォルトのブラウザを開き、ログインページを表示します
- axe アカウントの認証情報でサインインするよう促します
- 生成されたトークンをシステムのキーチェーンに安全に格納します
トークンが最初に保存される際、オペレーティングシステムがキーチェーンアクセスを許可するよう促すことがあります。
完了すると、ターミナルに確認メッセージが表示されます:
✓ Authenticated.実行する必要があるのは1台のマシンにつき login 1回だけです。2回目以降の呼び出しでは、 npx @deque/axe-auth token ストアされたリフレッシュトークンを使用して静かにアクセストークンを更新します。
プライベートクラウド、非米国地域、またはオンプレミスインストール
組織がプライベートクラウドやオンプレミス axe インスタンスを使用している場合、インスタンスの URL を --server に渡すか、 AXE_SERVER_URL 環境変数を設定します:
npx @deque/axe-auth login --server https://your-axe-instance.example.comステップ 2: IDE の設定
MCP クライアント構成で @deque/axe-auth token を使用して、サーバーが起動するたびに Docker コンテナに有効なアクセストークンを注入します。Docker コマンドは sh -c でラップし、シェルはトークンを代替できます — MCP 構成ファイルは JSON であり、 $(...) を直接展開しません:
のいずれかを設定しますが、 AXE_API_KEY と AXE_ACCESS_TOKEN の両方を設定しないでください。両方の変数が設定されていると、サーバーは起動時に失敗します。
特定のセットアップ手順のために IDE を選択します:
各セットアップページには、APIキーの説明に加えて OAuth 設定セクションが含まれています。
セッション管理
トークンの有効期間
OAuth アクセストークンは短期間のみ有効です。セッションがトークンの有効期間を超えて動作する場合、サーバーは認証エラーを返します。
回避策: IDE 内で MCP サーバー接続を再起動します。設定はサーバーの起動時に @deque/axe-auth token を再実行し、新しいトークンを自動的に取得します。
ログアウト
トークンをサーバー側で取り消し、システムキーチェーンからクリアするには以下を行います:
npx @deque/axe-auth logoutサーバー側での取り消しが失敗した場合(たとえばネットワークエラーのため)、ローカルトークンは消去され、警告が表示されます。
再認証
リフレッシュトークンが期限切れまたは取り消された場合、 @deque/axe-auth token はコード 1 で終了し、再度ログインするように指示されます。 npx @deque/axe-auth login をもう一度実行します。 --force 再認証確認プロンプトをスキップするには:
npx @deque/axe-auth login --forceコマンドリファレンス
login
ブラウザを開き、OAuth 2.0 認可コード + PKCE フローを完了し、トークンを OS キーチェーンに保存します。
npx @deque/axe-auth login [options]| フラグ | 説明 |
|---|---|
--server <url> |
axeインスタンスの基本URL。標準では https://axe.deque.com。プライベートクラウド、米国外の地域、またはオンプレミスのインストールの場合のみ必要です。 |
--force |
既にログインしている場合に再認証確認をスキップします。 |
--allow-insecure-issuer |
ループバック以外の http URL を許可します(標準は https のみ; ループバック http は常に許可)。これに適用されます: login のみ; token と logout はログイン時に保存されたポリシーを使用します。 |
--no-allow-insecure-issuer |
新しい allowInsecureIssuer=false 用に強制します(およびそれが保存するエントリ)。 login と互いに排他的です。 --allow-insecure-issuer。 token と logout はこのフラグを無視します。 |
token
現在有効なアクセストークンを標準出力に出力します。保存されたトークンが期限切れの場合は、サイレントで更新します。コード 1 で認証されていない場合に終了します。
npx @deque/axe-auth tokenlogout
サーバー側で保存されたリフレッシュトークンを取り消し、ローカルキーチェーンエントリをクリアします。
npx @deque/axe-auth logout--help
以下のヘルプ情報を表示します: @deque/axe-auth とそのコマンド。
npx @deque/axe-auth --help
npx @deque/axe-auth <command> --helpプラットフォームサポート
| プラットフォーム | トークンストレージ |
|---|---|
| macOS | macOSキーチェーン |
| Windows | Windowsクレデンシャルマネージャー |
| Linux | D-Busシークレットサービス(GNOME Keyring、KWallet など) |
Linux: @deque/axe-auth は動作するD-Busシークレットサービスを必要とします。ヘッドレスまたは最小限のデスクトップ環境では、利用可能でない場合があります。次のようなエラーが表示された場合:
System keychain load failed: <details>. On Linux this usually means no D-Bus Secret Service is running (e.g. GNOME Keyring or KWallet).GNOME Keyringまたは互換性のあるシークレットサービスプロバイダーを設定するようシステム管理者に依頼してください。
トラブルシューティング
ブラウザが自動的に開かない
ブラウザを開くことができない場合、認証URLをターミナルに出力します。URLをコピーして手動で開き、認証を完了します。 login ブラウザが自動的に開かない
長いセッション中のトークンの有効期限
次を参照してください: トークンの寿命 上記をご確認ください。IDEでMCPサーバー接続を再起動して新しいトークンを取得してください。
からの「認証されていない」エラー token
セッションが期限切れ、またはトークンがクリアされました。再認証するためにもう一度実行してください。 npx @deque/axe-auth login セッションが期限切れ、またはトークンがクリアされました。
MCPサーバー認証エラー
- 次のみ確認してください:
AXE_ACCESS_TOKENが設定されていること(ではない:AXE_API_KEY)。 - 確認
AXE_SERVER_URLがあなたのaxeインスタンスURLと一致していることを確認してください — これはログイン時に使用したURLと同じである必要があります--server(またはhttps://axe.deque.comデフォルトを使用した場合) - 端末で直接
npx @deque/axe-auth tokenを実行して、有効なトークンを持っていることを確認してください - コード
1で終了する場合、再認証してくださいnpx @deque/axe-auth login
Linux キーチェーンが利用できません
上記の プラットフォームサポート の注意書きを参照してください。
