外部アクセストークンは、特定のReplit Appのために発行するベアラートークンです。 プライベートDev URL や Private Deployment でURLがロックされていても、CIパイプライン、Webhook、ステータスチェックpinger、Slackボット、内部スクリプトなどの自動化サービスがアプリにアクセスできるようにします。 各トークンはパスワードと同様に扱ってください。トークンを持つ人は誰でも、有効期限が切れるか失効させるまでアプリにアクセスできます。Documentation Index
Fetch the complete documentation index at: https://docs.replit.com/llms.txt
Use this file to discover all available pages before exploring further.
外部アクセストークンはReplit CoreおよびProプランで利用できます。
Enterpriseのお客様は、ワークスペースでこの機能を有効にするために事前にReplitへのオプトインのリクエストが必要です。トークンはDeploymentがプライベートになった後にのみ、パブリッシュ設定に表示されます。
トークンを使うタイミング
ブラウザの外にあるものがプライベートなReplit Appを呼び出す必要がある場合に、外部アクセストークンを使用します。よくあるケース:- すべてのコミットでDev URLに対してスモークテストを実行するGitHub Actionsワークフロー。
- パブリッシュ済みアプリのヘルスエンドポイントをチェックするアップタイムモニター(Better Stack、Pingdom、UptimeRobot)。
- Private DeploymentにPOSTするWebhookレシーバー(Stripe、Slack、GitHub)。
- デバッグ中のチームメートのマシンからの
curlやfetch呼び出し。
トークンの環境
各トークンは1つの環境に紐付けられます:| 環境 | 有効な場所 | 用途 |
|---|---|---|
Development | アプリのワークスペースDev URL(*.replit.dev) | 開発中の実行中のReplにアクセス |
Production | アプリのパブリッシュ済みDeployment(*.replit.app とカスタムドメイン) | 外部サービスからPrivate Deploymentにアクセス |
Production トークンは現在パブリッシュされているDeploymentに紐付けられます。
新しいDeploymentに再パブリッシュした場合、既存のProductionトークンは無効になり、新しいトークンを発行する必要があります。
外部アクセストークンを作成する
Create access token を選択して以下を入力します:
- Label(任意): 後でトークンを識別できる短い名前(
CIやStripe webhookなど)。最大120文字。 - Environment: 呼び出し元サービスがアクセスする場所に応じて
DevelopmentまたはProductionを選択。 - Expires after: 有効期間を選択 —
1 hour、24 hours、7 days、30 days、3 months、1 year、または5 years。用途に合った最短の期間を選択してください。「無期限」オプションはありません。
- Copy query parameter — URLに追加するための
?project-protection-bypass=<token>をコピーします。手軽なcurlチェックに便利です。 - Copy token only — 生のトークンをコピーします。
Authorization: Bearerヘッダーで送信するのに適しています。
最初のトークンを作成すると、まだ有効になっていない場合、アプリの外部アクセスが自動的に有効になります。シールドがなければトークンにバイパスするものがありません。
トークンを使用する
トークンを提示する方法は2つあります:Authorizationヘッダー(推奨)
クエリパラメーター
既存のトークンを管理する
External access tokens セクションには、アプリのために作成したすべてのトークンが新しい順に表示されます。ラベル、環境、作成日、有効期限、失効ステータスとともに表示されます。トークンの全体の値は作成時にのみ表示されるため、トークンを区別するために各行の末尾数文字が表示されます。 表示されるのは自分が作成したトークンのみです。アプリのオーナーであっても、他のコラボレーターのトークンはプライベートです。トークンを失効させる
トークンが不要になったとき、またはトークンが漏洩した可能性がある場合はすぐに失効させてください。失効させるには: 失効は即時かつ不可逆です。そのトークンを使用しているトラフィックは数秒以内に拒否されます。再度アクセスが必要な場合は、新しいトークンを発行してください。 失効させられるのは自分が作成したトークンのみです。ワークスペースからコラボレーターを削除すると、そのアプリのために作成したトークンは自動的に失効します。トークンの安全な管理
外部アクセストークンはクレデンシャルです。APIキーやパスワードと同じ注意を払って扱ってください。すべきこと
- トークンをシークレットマネージャーに保存する — GitHub Actionsのシークレット、CIベンダーのVault、クラウドプロバイダーのシークレットストア、またはパスワードマネージャー。リポジトリにコミットしないでください。
- できるだけ短い有効期間を使用する。一時的な連携には7日間のトークンが5年間のトークンよりも安全です。
- すべてのトークンにラベルを付ける。将来の自分がそのトークンの用途と、まだ使用中かどうかを把握できるようにします。ラベルのないトークンは最初に漏洩し、最後に失効させられます。
- コンシューマーごとに別のトークンを発行する。CIジョブごとに1つ、Webhookソースごとに1つ、アップタイムチェックごとに1つ。何かが侵害された場合、またはベンダーが不要になった場合は、そのトークン1つだけを失効させます。
- クエリパラメーターよりも
Authorizationヘッダーを優先する。URLのログ、ブラウザの履歴、またはRefererヘッダーを通じてトークンが漏洩しないようにします。 - すぐに失効させる。ログの漏洩、パブリックリポジトリへのコミット、画面共有、退職した従業員のノートパソコンなど、トークンが露出した可能性がある場合はすぐに失効させてください。失効はすぐに有効になります。その後、新しいトークンを発行してください。
してはいけないこと
- チームメートやサービス間でトークンを共有しない。2つのシステムが1つのトークンを共有すると、一方を壊さずにもう一方を失効させることができません。
- チャット、メール、スクリーンショット、またはIssueトラッカーにトークンを貼り付けない。これらのチャンネルはアーカイブされ、インデックスされ、予測できない方法で共有されます。
- クライアントサイドのコードにトークンを埋め込まない — ブラウザアプリ、モバイルアプリ、デスクトップバイナリ。ユーザーのデバイスに配布されるものはすべてパブリックと見なしてください。
- ブラウザセッションにトークンを頼らない。トークンはAPIコール向けであり、ブラウザタブでSPAを読み込むためのものではありません。そのためには通常のReplitサインインを使用してください。
- デフォルトで5年間の有効期限を選ばない。コンシューマーが実際に必要なアクセス期間に合わせた有効期限にしてください。
トラブルシューティング
Productionトークンが突然機能しなくなった
Productionトークンが突然機能しなくなった
ProductionトークンはPublishされた特定のDeploymentに紐付けられています。アプリを再パブリッシュした場合 — たとえば、Deploymentタイプを変更したり、Deploymentを削除して再作成した場合 — 既存のProductionトークンは無効になります。新しいDeploymentの設定から新しいトークンを発行してください。
トークンは `curl` では機能するのに、ブラウザにはサインインページが表示される
トークンは `curl` では機能するのに、ブラウザにはサインインページが表示される
外部アクセストークンはAPIトラフィック向けであり、ブラウザセッション向けではありません。シングルページアプリがブラウザで読み込まれると、最初のHTMLリクエストはクエリパラメーターでトークンを含めることができますが、JavaScriptバンドル、CSS、APIコールのフォローアップリクエストにはトークンが含まれず拒否されます。アプリをインタラクティブに閲覧するには、Replitに通常どおりサインインしてください。
トークンを紛失した — 再度確認できますか?
トークンを紛失した — 再度確認できますか?
いいえ。Replitは作成時に一度だけトークンを表示します。リスト表示にはメタデータ(ラベル、環境、有効期限、末尾数文字)が表示されますが、全体のトークン値は表示されません。紛失した場合は、そのトークンを失効させて新しいものを作成してください。
次のステップ
- Private Deployments: これらのトークンがバイパスする基本的なアクセスコントロール機能。
- Replit App Access Management: プライベートアプリにサインインできるReplitユーザーを管理します。