ブラウザーコールバック、アカウント、トークン、および認証ネットワークに関連するサインインの問題を解決します。
本ページでは、サインインと認証のプロセスでよくある問題の解決策を案内します。サインイン方法については、サインインと認証 を参照してください。
ブラウザーでのサインインでは認可ページが開き、完了後にローカルへコールバックされます。コールバックの待機中で止まってしまった場合は、以下を確認してください。
CI/CD 環境やブラウザーのないサーバーでは、PAT を使用して認証します。
サインインリクエストがタイムアウトしたり、接続に失敗したりする場合は、通常ネットワークまたはプロキシの問題が原因です。
ブラウザーコールバックの失敗
ブラウザーでのサインインでは認可ページが開き、完了後にローカルへコールバックされます。コールバックの待機中で止まってしまった場合は、以下を確認してください。
- ブラウザーで認可ページが正常に開き、認可が完了していることを確認します。
- グラフィカルインターフェースのない環境(CI、
DISPLAY未設定の SSH セッション、BROWSER=www-browserなど)では、CLI がブラウザーの起動を自動的にスキップし、サインイン画面自体にコピー可能なサインイン URL が出力されます。その URL をブラウザーで手動で開いてください。 - また、
/loginのサインイン方法で Qoder Personal Access Token を選択し、トークンを直接貼り付けて認証を完了させることもできます。 - グラフィカルインターフェースのないサーバーで長期的に使用する場合は、Personal Access Token(PAT)による認証に切り替えてください(後述)。
- ローカルのコールバックポートがファイアウォールや他のプロセスによって占有されている可能性があるため、占有しているプロセスを終了してから再試行します。
- 認可の完了後、手動でターミナルに戻り、サインイン状態が更新されるのを待ちます。
ブラウザレス環境でのサインイン
CI/CD 環境やブラウザーのないサーバーでは、PAT を使用して認証します。
- Qoder Integrations で Personal Access Token を生成します。
-
環境変数で指定します。
- この変数を設定すると、Qoder CLI はブラウザーを必要とせず、自動的に PAT を使用して認証を行います。
トークンが無効または期限切れ
QODER_PERSONAL_ACCESS_TOKENの値が完全で誤りがなく、余分なスペースや改行が含まれていないことを確認します。- Windows コマンドプロンプトで
setを使用して値を割り当てる際は、引用符を付けないでください。引用符も変数値の一部として保存され、「値は正しく見えるのに認証に失敗する」という問題の一般的な原因となります。 - トークンが取り消された、または期限切れになった場合は、再度生成して環境変数を更新する必要があります。
- 環境変数を更新したにもかかわらず古い資格情報で実行される場合:認証は
QODER_PERSONAL_ACCESS_TOKEN環境変数を優先的に読み取り、その優先度は/loginで保存されたローカル資格情報より高くなります。/loginの資格情報を使用するには、先にこの環境変数をクリアする必要があります。 - CI 環境では、シークレット変数を通じてトークンを注入し、プレーンテキストでリポジトリにコミットしないようにします。
アカウントとステータス
/statusを実行して、現在のサインイン資格情報とアカウントのステータスを確認します。- 未サインインと表示される場合は、
/loginを実行して再度サインインします。 - アカウントを切り替える必要がある場合は、まず
/logoutを実行してから/loginを実行します。 - 現在
QODER_PERSONAL_ACCESS_TOKENを介して認証されている場合は、まずその環境変数をクリアしてから/logoutを実行する必要があります。そうしないと、次回の起動時に古いトークンで自動的にサインインされ、「サインアウトしたのに資格情報が変わらない」という状態になります。
認証のネットワーク問題
サインインリクエストがタイムアウトしたり、接続に失敗したりする場合は、通常ネットワークまたはプロキシの問題が原因です。
- 認証サービスのドメインにアクセスできることを確認します。
- 制限されたネットワーク環境ではプロキシを設定します(ネットワーク、プロキシ、および VPC の問題 を参照)。
次のステップ
- サインインと認証のガイド:サインインと認証。
- ネットワークとプロキシ:ネットワーク、プロキシ、および VPC の問題。