サインインの仕組み
screenRIG は短期間有効な署名付きアクセス・トークンと長期間有効なリフレッシュ・トークンを発行します。バンドルされた CLI は両方をプライベート設定ファイルに保持し自動更新するため、エージェントはトークンを扱わず会話に貼り付けることもありません。
| 認証情報 | 寿命 |
|---|---|
| アクセストークン | 15分 |
| リフレッシュトークン | 使用のたびに回転します。最後の使用から90日後、サインインから最大1年後に終了します。 |
サインインコード(screenrig login) | 24時間 |
| サービスクライアントトークン | 15分、リフレッシュトークンなし:クライアントが新しいトークンを要求 |
4つの方法で入れます:
| 誰 | サインイン方法 | 承認者 |
|---|---|---|
| アカウントのない新しいエージェントです。 | screenrig agent enroll で組織、スクリーンプロジェクト、セッションを一度に作成します | 登録自体;本人にメールで招待が送信されます |
| 既存アカウントのエージェント。 | screenrig login はダッシュボードでユーザーが承認するコードを表示します。 | ダッシュボードのプロジェクトメンバーです。 |
| 接続されたアプリ(Claude、ChatGPT、Grok) | アプリは screenRIG 同意ページを開きます。remote server を参照してください。 | 同意ページのプロジェクトメンバーです。 |
| サーバー、スクリプト、またはCIジョブ。 | サービスクライアント は独自のキーまたはシークレットでサインインします | プロジェクトメンバーによって作成されました。 |
ユーザーはパスキーまたはパスワード、あるいは所属する組織のIDプロバイダー経由でダッシュボードにサインインします。シングルサインオンとユーザープロビジョニングをご覧ください。
screenrig loginでサインイン
対象の人物がすでに screenRIG を持っていて、このエージェントのインストールを彼らのプロジェクトのいずれかで動作させたい場合は screenrig login を使用してください。アカウントなしの新規インストールは代わりに screenrig agent enroll から始めます。開始 を参照してください。
screenrig login- CLI はダッシュボードのアドレスと
BCDF-GHJKのような8文字コードを表示し、待機します。 - その人は
https://screenrig.ai/dashboard/connectを開き、サインインしてコードを入力するか、すでにコードを含む完全なリンクに従います。 - ダッシュボードは1つのスクリーンでリクエストを表示します:デバイスが報告したインストール名、いつどこで要求されたか、コードです。人はコードが端末と一致するか確認し、必要に応じてプロジェクト、アクセスレベル、機能を調整して接続を押します。直近1時間以内のダッシュボードサインインが証明となり、接続はそれ以上を求めません。古いサインインはパスキーを求めます。ダッシュボードは新しいエージェントを開きます。
- CLI はセッションを保存し、承認されたプロジェクトを選択し、プロジェクト、組織、アクセスレベルを
status: signed_inで報告します。
自分自身が開始したサインインのみ承認してください。ダッシュボードは読み込み時に何も承認せず、有効期限切れコードは新しい screenrig login が必要です。
| フラグ | エフェクト |
|---|---|
--access read、--access propose、または--access manage | 読み取り専用、提案、管理を依頼。デフォルトは manage。最終的な選択は本人が行います。 |
--project prj_ID | ユーザーが承認したプロジェクトを提案してください。 |
--name NAME | このインストールの名前を80文字まで指定してください。 |
--no-wait | 住所、コード、login_ハンドルをすぐに返します。 |
--resume login_ID | 保留中のサインインが承認され、そのセッションが保存されるのを待ちます。 |
エージェントが別のチャネルの人にアドレスを先に渡す必要がある場合、--no-waitを使用します。ハンドルには秘密はなく、保留中のサインインはプライベート設定ファイルに保持されます。
screenrig login --no-wait
screenrig login --resume login_HANDLEサインインアドレスとコードは承認者用です。その人にのみ送信し、ログや共有チャネルに残さないでください。
プロジェクトを追加またはアクセス権を上げる
すでにサインインしているインストールがscreenrig loginを再度実行して別のプロジェクトを追加するか、読み取り専用または提案プロジェクトを管理に昇格します。
screenrig login --project prj_ID --access manageその人は1つの変更を承認し、インストールは他のプロジェクトを保持します。screenrig project listはインストールが使用できるすべてのプロジェクトを表示し、screenrig project use IDで1つを選択します。
読み取り専用、提案および管理
すべてのセッションは承認者が選択した3つのアクセスレベルのいずれかを持ちます。各レベルは前のレベルのすべての権限を含みます。
| 閲覧のみ | 提案 | 管理 | |
|---|---|---|---|
| スクリーン、プレイリスト、メディア、イベント、再生を一覧・閲覧 | はい | はい | はい |
| メディアをアップロードおよび編集し、プロジェクトノートを書き、スクリーンショットを撮り、フィードバックやサポートメッセージを送信し、広告クリエイティブやキャンペーンを作成します。 | いいえ | はい | はい |
| プレイリストを作成・更新し、スクリーンを割り当て、スケジュール設定または引き継ぐ。 | いいえ | はい、レビューとして人が承認します | はい |
| 削除、ペアリング、アーカイブ、再読み込み、再起動、トースト送信、ディスプレイ電源設定、スクリーンタグ付け、アプリケーションK/V書き込み、アラートの確認・スヌーズ・ミュート、通知とプロジェクト設定管理 | いいえ | いいえ | はい |
| 購入、キャンペーン、画像生成にクレジットを使う | いいえ | いいえ | はい |
| Webhook受信URLを読み取ります。 | いいえ:URLは編集済みとして読み取られます | いいえ:URLは編集済みとして読み取られます | はい |
| すべてのエージェントリクエストのようにリクエストごとに請求 | はい | はい | はい |
閲覧のみは、このセッションで変更や購入ができないことを意味します。無料という意味ではありません。各エージェントリクエストや請求対象のリッスンストリームイベントは、組織の含まれるリクエストとしてカウントされます。これは Propose や Manage と同様です。
提案はエージェントが作業を行い、人が再生内容を最終決定します。プレイリストとスクリーンの変更は202にstatus: pending_reviewとレビューへのリンクで応答し、人が承認するまでスクリーンには変更が反映されません。メディアのアップロードやタグ・フォルダーの変更も承認待ちです。スクリーンは承認済みの内容を再生し続け、拒否された変更は元に戻され、拒否されたアップロードはスクリーンに表示されません。削除、スクリーン制御、支出はできません。
レベルでできないことを試みるセッションは403 insufficient_accessを受けます。CLIは次のステップを示します:人がscreenrig login --access manageでManageを承認します。
エージェントのサインインはデフォルトで管理権限、接続されたアプリは読み取り専用です。インストール権限を下げるには、切断してからscreenrig login --access readまたは--access proposeで再サインインしてください。セッションの権限は自動で下がりません:以下のレビュー設定はセッションを提案に保ち、アクセスページは変更時に表示します。
機能
アクセスレベル内で、セッションは本人が承認した機能領域のみで動作します:screens、content、playlists、advertising、reports、project。登録は作成したプロジェクトで6つすべてを付与します。承認外のコマンドは欠落した機能名を含む403 forbiddenを返します。機能はインストールのプロジェクトで承認されたままです。追加は本人が新しいインストールを承認します。
エージェント変更にレビューを要求
2つの設定がエージェントを再サインインなしでProposeに制限します。両方ともすべてのリクエストに適用され、既存のセッションもカバーします。
- エージェント変更にレビューが必要、ダッシュボードの設定ページで設定します。有効時は、プロジェクト内のすべてのエージェント、接続アプリ、サービスクライアントは最大で提案モードで動作します:再生内容の変更はレビューで人の承認を待ちます。プロジェクトの所有者または組織の管理者が設定を変更し、無効にするにはパスキーが必要です。既に待機中のレビューは決定まで開いたままです。
- 承認可能、プロジェクトの アクセスページの各メンバーに対して。プロジェクトオーナーは常に承認可能です。承認不可のメンバーはレビューを決定せず、エージェントに管理権限を与えられず、そのメンバーが担当するエージェントは最大で提案権限のみです。
適用される最も低いレベルが勝ちます。screenrig agent statusはセッションのaccess、effective_access、設定が下げる場合はaccess_limited_by:projectまたはpersonを報告します。再サインインしても設定は解除されません;プロジェクトオーナーが変更します。設定が適用中はサインインと接続承認画面に読み取り専用と提案が表示され、管理が利用不可の理由が示されます。
アップローダー
アップローダーは、あなたが選んだプレイリストとメディアフォルダー内でのみ作業します。それらのフォルダーにメディアをアップロードし、それらのプレイリストのページを開始日と終了日付きで追加・置換・削除します。ほかのプレイリスト、スクリーン、スケジュール、メンバー、トークン、フリートリンク、請求、設定は読み取りも変更もできません。代理店のチームの人はアップローダーメンバーであり、代理店のエージェントはアップローダーのサービスクライアントです。
- 招待または割り当て。ダッシュボードのアクセスページで、人をアップローダーとして招待するか、メンバーをアップローダーにして、フォルダーとプレイリストを選びます。CLI では、
screenrig invitations create --kind uploader --email designer@example.com --folder-id mfd_FOLDER --playlist-id pl_PLAYLISTで招待し、screenrig service-client create --name "Agency agent" --uploader --folder-id mfd_FOLDER --playlist-id pl_PLAYLIST --secret-file agency.secretでエージェントに専用トークンを付与します。フォルダーは選んだものだけで、その中のフォルダーは含まれません。オーナーはいつでも範囲を編集または終了でき、変更はアップローダーの次のリクエストから適用されます。 - 提案、またはレビューなしで公開。アップローダーメンバーの変更は、プロジェクトオーナーまたは承認できるメンバーが判断するまでレビューで待機します。オーナーは、招待または割り当ての際に、メンバーがレビューなしで公開できるようにできます(
--access manage)。アップローダーのサービスクライアントは作成時のアクセスで動作し、別に選ばない限り提案となり、「エージェント変更にレビューを要求」はすべてのエージェントと同様にそれを提案に留めます。アップローダーはレビューを承認せず、エージェントも接続しません。代わりにエージェントがアップローダートークンを受け取ります。 - アップロードとページの追加。
screenrig media upload FILE --folder mfd_FOLDERはアップローダーのフォルダーにアップロードします。screenrig playlist page add pl_PLAYLIST --media med_IMAGE --from 2026-12-01 --until 2026-12-24はメディアを、各スクリーンのタイムゾーンで12月1日の開始から12月24日の終了まで表示されるページとして追加します。playlist page replaceはメディアを差し替えるか日付を変更し、playlist page removeはページを削除します。アップローダーが追加するページは、そのフォルダーの画像または動画です。プロジェクトのほかのページは変わりません。同じアップローダーが続けて行った複数のアップロードは1つのレビューにまとまるため、オーナーはまとめて承認でき、そこで待機中のページは差し替えや削除もできます。別のアップローダーによるプレイリストの変更は、そのレビューが決定されるまで待機します。 - ダッシュボードでは。アップローダーのメンバーは、ページがアップロード1つだけのダッシュボードにサインインします。このページには、そのメンバーのプレイリストとフォルダーが並びます。フォルダーではファイルをアップロードし、プレイリストでは画像またはクリップからページを追加して、ページを表示する最初の日と最後の日を設定し、自分のページを置換または削除し、レビュー待ちの変更を取り下げます。プロジェクトのそのほかのページには「プロジェクトで設定」と表示されます。
- 範囲外。それ以外はすべて
outside_upload_scopeで応答し、そのupload_scopeにアップローダーが使えるプレイリストとフォルダーが一覧されます。
メンバーまたはエージェントを、コンテンツではなくスクリーンフォルダーとスクリーンに限定するには、スクリーンフォルダー単位の権限を参照してください。
アクセスページ
ダッシュボードの アクセス ページは現在のプロジェクトで操作可能なすべてを一覧表示します。
| セクション | リストされるもの |
|---|---|
| 保留中 | 承認待ちのサインインと接続要求 |
| 人々 | メンバーとオープン招待 |
| エージェント | CLI とプラグインのインストール、登録またはサインイン済み |
| 接続済みアプリ | AIアシスタントは接続中のユーザーごと、アプリごとに1エントリ。 |
| サービスクライアント | キーとシークレットを持つサーバー、スクリプト、CI ジョブ |
各エントリーには、アクセス取得方法と承認者、アクセスレベルと権限、作成日時と最終利用日時が表示されます。レビュー設定によりエントリーが本来のレベルより下に保持されている場合、実際の動作レベルとその理由(例:「提案 — プロジェクトにレビューが必要」)が表示されます。切断はエージェントやアプリを終了し、取り消しはサービスクライアントを終了します。いずれもユーザーにパスキーで確認を求めます。
サインアウトして取り消す
| 終了するには | 実行または実施 |
|---|---|
| このインストールのサインイン | screenrig logout |
| このインストールの現在のプロジェクトへのアクセス | screenrig agent disconnect --yes |
| このインストールはどこでも | screenrig agent revoke-identity --yes |
| 任意のエージェントまたは接続済みアプリ | アクセスページで切断 |
| サービスクライアント。 | 取り消す アクセスページ、またはscreenrig service-client revoke ID --yes |
screenrig logout はサーバー上のサインインを無効化し、その後保存されたトークンを削除します。リクエストがサーバーに届かなかった場合はトークンが残るため、再実行しても安全です。Read only セッションは常に自分自身を切断できます。
取り消されたセッションは更新できません:取り消し後に新しいトークンは発行されません。アクセス トークンは数秒で無効になります。エージェントの責任者を無効化すると同様にセッションが終了し、プロジェクトを削除するとすべてのセッションのそのプロジェクトへのアクセスが終了します。
セッション長
リフレッシュトークンを使うたびに有効期限が90日延長され、サインインから最長1年となります。screenrig doctorにはこのインストールのセッション終了時刻が表示され、各コマンドは残り30日で警告します。継続には新しいscreenrig loginの承認が必要です。
既存の資格情報
これらのセッション以前にサインインしたインストールは引き続き動作します。次のコマンドで、バンドルされた CLI は保存された資格情報を使用して同じプロジェクトと機能を持つセッションをプロンプトや出力なしで交換します。公式プラグインを更新するとその CLI が得られます。エージェントには他の変更はありません。
参照
これらのエンドポイントは OAuth 2.0 に準拠しています。バンドルされた CLI、接続されたアプリ、およびサービスクライアントが使用し、プラグイン経由で動作するエージェントは直接呼び出しません。
| アイテム | 値 |
|---|---|
| 発行者 | https://api.screenrig.ai |
| 認可サーバーメタデータ | https://api.screenrig.ai/.well-known/oauth-authorization-server |
| 保護されたリソースのメタデータ | https://api.screenrig.ai/.well-known/oauth-protected-resource/api |
| トークンエンドポイント | https://api.screenrig.ai/oauth/token |
| デバイス認証 | https://api.screenrig.ai/oauth/device_authorization |
| 認可エンドポイント | https://api.screenrig.ai/oauth/authorize |
| 取り消し | https://api.screenrig.ai/oauth/revoke |
| 付与タイプ | authorization_code(PKCE S256 のみ)、refresh_token、urn:ietf:params:oauth:grant-type:device_code、client_credentials、urn:ietf:params:oauth:grant-type:token-exchange |
| クライアント認証 | none, private_key_jwt (EdDSA, ES256, RS256), client_secret_basic |
| スコープ | access:read、access:propose、access:manage、identity、および機能screens、content、playlists、advertising、reports、project |
| リソース | https://api.screenrig.ai/api(デフォルト)とhttps://api.screenrig.ai/mcp |
アクセストークンはEd25519(EdDSA)で署名されたJWTです:RFC 9068(typ: at+jwt、iss、aud、sub、client_id、scope、jti、iat、exp)のクレーム規約を使うEdDSA専用プロファイルです。不透明なものとして扱い、有効期限切れの際は新しいものをAuthorization: Bearerとして送信してください。
トークンエンドポイントエラーはRFC 6749 JSON(error、error_description)でCache-Control: no-storeを含みます:
error | 意味 | CLI の問題 |
|---|---|---|
invalid_grant | セッションは取り消し、期限切れ、再利用されたか、コードが間違っています。 | session_ended:実行 screenrig login |
invalid_client | 不明なクライアント、または誤ったキー、シークレット、アサーション | client_auth_failed |
invalid_scope | 承認された以上のアクセスまたは機能。 | insufficient_access |
invalid_target | 上記以外の resource | invalid_request |
authorization_pending, slow_down | 承認待ちのサインイン。 | CLI は待機を続けます。 |
access_denied | その人はサインインを拒否しました。 | login_denied |
expired_token | サインインコードの有効期限が切れました。 | login_expired:実行 screenrig login |
temporarily_unavailable | しばらくしてから再試行してください | service_unavailable |
rate_limited | Retry-Afterを待つ | rate_limited |
期限切れまたは取り消されたアクセストークンで /api にリクエストすると 401 が WWW-Authenticate: Bearer error="invalid_token" で応答します。CLI は1回更新し1回再試行します。アクセスレベルで許可されていない操作を呼び出すトークンは 403 insufficient_access を WWW-Authenticate: Bearer error="insufficient_scope" と scope で応答します。
トークンと取り消しエンドポイントはクライアントアドレスごとに1時間あたり1,200リクエスト、セッションごとに1時間あたり60回の更新、クライアントごとに1時間あたり600のサービスクライアントトークンを受け付けます。サインイン開始はアドレスごとに1時間あたり10回に制限されます。