Come funziona l’accesso
screenRIG emette token di accesso firmati a breve durata e token di aggiornamento a lunga durata. Il CLI incluso li conserva entrambi nel file di configurazione privato e li rinnova automaticamente, così un agente non gestisce mai un token né lo incolla in una conversazione.
| Credenziale | Durata |
|---|---|
| Token di accesso | 15 minuti |
| Token di aggiornamento | Ruota a ogni uso. Scade 90 giorni dopo l’ultimo uso e al massimo un anno dopo l’accesso. |
Codice di accesso (screenrig login) | 24 ore |
| Token client di servizio | 15 minuti, senza token di aggiornamento: il client richiede uno nuovo |
Ci sono quattro modi per entrare:
| Chi | Come si accede | Approvato da |
|---|---|---|
| Un nuovo agente senza account | screenrig agent enroll crea l’organizzazione, il progetto Screens e la sessione in un solo comando | L’iscrizione stessa; segue l’invito via email alla persona |
| Un agente per un account esistente | screenrig login stampa un codice che una persona approva nel dashboard | Un membro del progetto, nel dashboard |
| Un’app connessa (Claude, ChatGPT, Grok) | L’app apre la pagina di consenso screenRIG; vedi server remoto | Un membro del progetto, nella pagina del consenso |
| Un server, script o job CI | Un service client accede con la propria chiave o segreto | Creato da un membro del progetto |
Le persone accedono al dashboard con una passkey o una password, oppure tramite il provider di identità della propria organizzazione; vedi single sign-on e provisioning utenti.
Accedi con screenrig login
Usa screenrig login quando la persona ha già screenRIG e vuole che questa installazione agente funzioni in uno dei suoi progetti. Una nuova installazione senza account inizia invece con screenrig agent enroll; vedi Avvia.
screenrig login- Il CLI stampa un indirizzo dashboard e un codice di otto lettere come
BCDF-GHJK, poi attende. - La persona apre
https://screenrig.ai/dashboard/connect, accede e inserisce il codice, o segue il link completo che lo contiene già. - Il dashboard mostra la richiesta su uno schermo: il nome installazione riportato dal dispositivo, quando e dove ha chiesto, e il codice. La persona verifica che il codice corrisponda al terminale, regola progetto, livello accesso o capacità se vuole, e preme Connetti. Un accesso dashboard dell’ultima ora è la prova, quindi Connetti non chiede altro; un accesso più vecchio chiede passkey. Il dashboard apre quindi il nuovo agente.
- Il CLI memorizza la sessione, seleziona il progetto approvato e riporta
status: signed_incon progetto, organizzazione e livello di accesso.
Approva solo un accesso che hai avviato tu stesso, sul tuo computer. Il dashboard non approva mai nulla al caricamento, e un codice scaduto necessita di un nuovo screenrig login.
| Segnala | Effetto |
|---|---|
--access read, --access propose o --access manage | Chiedi solo di leggere, proporre o gestire. Il predefinito è manage; la persona fa la scelta finale. |
--project prj_ID | Suggerisci il progetto che la persona approva. |
--name NAME | Dai un nome a questa installazione, fino a 80 caratteri. |
--no-wait | Restituisci subito con l’indirizzo, il codice e una maniglia login_. |
--resume login_ID | Attendere che l’accesso in sospeso venga approvato e memorizzare la sua sessione. |
Quando l’agente deve prima passare l’indirizzo a una persona in un altro canale, usa --no-wait. Il codice non è un segreto e l’accesso in sospeso resta nel file di configurazione privato:
screenrig login --no-wait
screenrig login --resume login_HANDLEL’indirizzo di accesso e il suo codice sono per la persona che li approva. Inviarli solo a quella persona e tenerli fuori da log e canali condivisi.
Aggiungi un progetto o aumenta l’accesso
Un’installazione già connessa esegue di nuovo screenrig login per aggiungere un altro progetto, o per elevare un progetto Read only o Propose a Manage:
screenrig login --project prj_ID --access manageLa persona approva quella modifica, e l’installazione mantiene gli altri suoi progetti. screenrig project list mostra ogni progetto che l’installazione può usare, e screenrig project use ID ne seleziona uno.
Solo lettura, proporre e gestire
Ogni sessione ha uno di tre livelli di accesso, scelto dalla persona che la approva. Ogni livello include tutto ciò che può fare il precedente.
| Solo lettura | Proponi | Gestire | |
|---|---|---|---|
| Elenca e leggi schermi, playlist, contenuti multimediali, eventi e riproduzioni | Sì | Sì | Sì |
| Carica e modifica media, scrivi note progetto, cattura screenshot, invia messaggi di feedback e assistenza, crea bozze di creatività e campagne pubblicitarie | No | Sì | Sì |
| Crea e aggiorna playlist; assegna, programma o prendi il controllo degli schermi | No | Sì, come revisione approvata da una persona | Sì |
| Eliminare, associare, archiviare, ricaricare, riavviare, inviare toast, impostare alimentazione display, taggare schermi, scrivere K/V app, riconoscere, posticipare o silenziare alert, gestire notifiche e impostazioni progetto | No | No | Sì |
| Usa crediti per acquisti, campagne o generazione immagini | No | No | Sì |
| Leggi gli URL dei riceventi webhook | No: l’URL è censurato | No: l’URL è censurato | Sì |
| Fatturato per richiesta come ogni richiesta agente | Sì | Sì | Sì |
Solo lettura significa che la sessione non può modificare o acquistare nulla. Non significa gratuito: ogni richiesta agente e evento listen-stream fatturato conta contro le richieste incluse dell’organizzazione, come per Propose e Manage.
Proponi consente a un agente di fare il lavoro mentre una persona mantiene l'ultima parola su cosa riprodurre. Le sue modifiche a playlist e schermo rispondono a 202 con status: pending_review e un link alla revisione, e nulla cambia su uno schermo finché una persona non approva. I suoi caricamenti di media, e le modifiche a tag e cartelle per i media approvati, attendono anch'essi la revisione: gli schermi continuano a riprodurre ciò che è stato approvato finché una persona non approva la modifica, un rifiuto riporta un elemento modificato allo stato precedente, e un caricamento rifiutato resta fuori dagli schermi. Non può eliminare, controllare schermi o spendere.
Una sessione che tenta qualcosa che il suo livello non può fare riceve 403 insufficient_access. La CLI indica il passo successivo: una persona approva Manage con screenrig login --access manage.
Gli accessi agente predefiniti sono Gestisci, e le app connesse sono in sola lettura. Per abbassare un’installazione, disconnettila, quindi accedi di nuovo con screenrig login --access read o --access propose. Il livello di una sessione non viene mai abbassato silenziosamente: le impostazioni di revisione qui sotto mantengono le sessioni su Proponi senza modificarle, e la pagina Accesso mostra quando lo fanno.
Capacità
All’interno del suo livello di accesso, una sessione funziona solo nelle aree di capacità approvate dalla persona: screens, content, playlists, advertising, reports e project. L’iscrizione concede tutte e sei nel progetto che crea. Un comando fuori dalle aree approvate restituisce 403 forbidden che nomina la capacità mancante. Le capacità restano approvate per un progetto di installazione; per altre, una persona approva una nuova installazione che le possiede.
Richiede revisione per modifiche agente
Due impostazioni limitano gli agenti a Proponi senza richiedere nuovo accesso. Entrambe si applicano a ogni richiesta, coprendo anche sessioni esistenti.
- Richiedi revisione per modifiche agenti, nella pagina Impostazioni del dashboard. Mentre è attivo, ogni agente, app connessa e client di servizio nel progetto lavora al massimo in Proponi: le modifiche a ciò che viene riprodotto attendono in Revisioni finché una persona non le approva. Il proprietario del progetto o un amministratore della sua organizzazione lo modificano, e disattivarlo richiede la loro passkey. Le revisioni già in attesa restano aperte per decidere.
- Può approvare, per ogni persona nella pagina Accesso del progetto. Il proprietario del progetto può sempre approvare. Un membro che non può approvare non decide le revisioni e non può dare a un agente Gestisci, e gli agenti di cui quel membro è responsabile lavorano al massimo in Proponi.
Vince il livello più basso che si applica. screenrig agent status riporta il access della sessione, il suo effective_access e, quando un’impostazione lo abbassa, access_limited_by: project o person. Accedere di nuovo non solleva un’impostazione; la modifica la fa il proprietario del progetto. Mentre un’impostazione si applica, le schermate di accesso e approvazione connessione offrono Solo lettura e Proponi, e mostrano perché Gestisci non è disponibile.
Uploader
Un uploader lavora nelle playlist e nelle cartelle media che scegli e in nessun altro posto. Carica contenuti in quelle cartelle e aggiunge, sostituisce e rimuove pagine di quelle playlist, con date di inizio e fine. Non può leggere né modificare altre playlist, schermi, programmazioni, membri, token, link flotta, fatturazione o impostazioni. Una persona del team di un’agenzia è un membro uploader; l’agente di un’agenzia è un client di servizio uploader.
- Invita o assegna. Nella pagina Accesso della dashboard, invita una persona come uploader o rendi un membro un uploader, e scegli le cartelle e le playlist. Dalla CLI,
screenrig invitations create --kind uploader --email designer@example.com --folder-id mfd_FOLDER --playlist-id pl_PLAYLISTne invita uno, escreenrig service-client create --name "Agency agent" --uploader --folder-id mfd_FOLDER --playlist-id pl_PLAYLIST --secret-file agency.secretdà a un agente il proprio token. Le cartelle sono esattamente quelle che scegli, non le cartelle al loro interno. Il proprietario modifica l’ambito o lo termina in qualsiasi momento, e la modifica si applica alla richiesta successiva dell’uploader. - Proponi, o pubblica senza revisione. Le modifiche di un membro uploader restano in Revisioni finché il proprietario del progetto o un membro che può approvare non le decide. Il proprietario può lasciare che un membro pubblichi senza revisione (
--access manage) quando invita o assegna. Un client di servizio uploader agisce con l’accesso con cui è stato creato, Proponi salvo diversa scelta, e Richiede revisione per modifiche agente lo mantiene su Proponi come ogni agente. Un uploader non approva mai revisioni e non collega mai agenti: un agente riceve invece un token uploader. - Carica e aggiungi pagine.
screenrig media upload FILE --folder mfd_FOLDERcarica in una cartella dell’uploader.screenrig playlist page add pl_PLAYLIST --media med_IMAGE --from 2026-12-01 --until 2026-12-24aggiunge il contenuto come pagina mostrata dall’inizio del 1° dicembre fino alla fine del 24 dicembre, nel fuso orario di ciascuno schermo;playlist page replacesostituisce il contenuto o cambia le date, eplaylist page removerimuove la pagina. Una pagina aggiunta dall’uploader è un’immagine o un video delle sue cartelle; le altre pagine del progetto restano invariate. Più caricamenti di fila dello stesso uploader confluiscono in un’unica revisione, così il proprietario li approva insieme, e una pagina che vi è ancora in attesa può essere sostituita o rimossa. La modifica di un altro uploader alla playlist attende finché quella revisione non è decisa. - Nella dashboard. Un membro uploader accede a una dashboard con una sola pagina, Caricare, che elenca le sue playlist e le sue cartelle. In una cartella carica file; in una playlist aggiunge una pagina da un’immagine o da un clip, imposta il primo e l’ultimo giorno in cui la pagina viene mostrata, sostituisce o rimuove le proprie pagine e ritira una modifica in attesa di revisione. Le altre pagine del progetto riportano Impostata dal progetto.
- Fuori dall’ambito. Tutto il resto risponde
outside_upload_scope, il cuiupload_scopeelenca le playlist e le cartelle che l’uploader può usare.
Per limitare un membro o un agente a cartelle di schermi e schermi invece che ai contenuti, vedi Permessi per cartella di schermi.
La pagina Accesso
La pagina Accesso del dashboard elenca tutto ciò che può agire sul progetto corrente:
| Sezione | Cosa elenca |
|---|---|
| In sospeso | Accessi e richieste di connessione in attesa di approvazione |
| Persone | Membri e inviti aperti |
| Agenti | Installazioni CLI e plugin, registrate o con accesso effettuato |
| App connesse | Assistenti AI una persona connessa, una voce per app |
| Client di servizio | Server, script e job CI, con le loro chiavi e segreti |
Ogni voce mostra come ha ottenuto l’accesso e chi l’ha approvata, il livello di accesso e le capacità, e quando è stata creata e usata per l’ultima volta. Quando una voce è limitata da una regola di revisione, mostra il livello a cui opera e il motivo, ad esempio "Proponi — il progetto richiede revisione". Disconnetti termina un agente o un’app; Revoca termina un client di servizio. Entrambe richiedono conferma con la passkey della persona.
Esci e revoca
| Per terminare | Esegui o fai |
|---|---|
| Accesso di questa installazione | screenrig logout |
| Accesso di questa installazione al progetto corrente | screenrig agent disconnect --yes |
| Questa installazione ovunque | screenrig agent revoke-identity --yes |
| Qualsiasi agente o app connessa | Disconnetti nella pagina Accesso |
| Un client di servizio | Revoca nella pagina Accesso, o screenrig service-client revoke ID --yes |
screenrig logout revoca l’accesso sul server, poi rimuove i token memorizzati. Se la richiesta potrebbe non aver raggiunto il server, i token restano, quindi rieseguirla è sicuro. Una sessione Read only può sempre disconnettersi da sola.
Una sessione revocata non può rinnovare: nessun nuovo token viene emesso dopo la revoca. I suoi token di accesso smettono di funzionare in pochi secondi. Disattivare la persona responsabile di un agente termina le sue sessioni allo stesso modo, e cancellare un progetto termina l’accesso di ogni sessione a quel progetto.
Durata della sessione
Ogni utilizzo del refresh token sposta la sua scadenza di 90 giorni, fino a un anno dopo l’accesso. screenrig doctor mostra quando termina la sessione di questa installazione e ogni comando avvisa negli ultimi 30 giorni. Per continuare, una persona approva un nuovo screenrig login.
Credenziali esistenti
Le installazioni che hanno effettuato l’accesso prima di queste sessioni continuano a funzionare. Al prossimo comando, la CLI inclusa scambia la credenziale memorizzata per una sessione con gli stessi progetti e capacità, senza richiesta e senza output. Aggiorna il plugin ufficiale per ottenere quella CLI; nulla cambia per l’agente.
Riferimento
Questi endpoint seguono OAuth 2.0. Il CLI incluso, le app connesse e i client di servizio li utilizzano; un agente che opera tramite il plugin non li chiama mai direttamente.
| Elemento | Valore |
|---|---|
| Emittente | https://api.screenrig.ai |
| Metadati del server di autorizzazione | https://api.screenrig.ai/.well-known/oauth-authorization-server |
| Metadati della risorsa protetta | https://api.screenrig.ai/.well-known/oauth-protected-resource/api |
| Endpoint token | https://api.screenrig.ai/oauth/token |
| Autorizzazione dispositivo | https://api.screenrig.ai/oauth/device_authorization |
| Endpoint di autorizzazione | https://api.screenrig.ai/oauth/authorize |
| Revoca | https://api.screenrig.ai/oauth/revoke |
| Tipi di concessione | authorization_code (solo PKCE S256), refresh_token, urn:ietf:params:oauth:grant-type:device_code, client_credentials, urn:ietf:params:oauth:grant-type:token-exchange |
| Autenticazione client | none, private_key_jwt (EdDSA, ES256, RS256), client_secret_basic |
| Ambiti | access:read, access:propose, access:manage, identity e le capacità screens, content, playlists, advertising, reports e project |
| Risorse | https://api.screenrig.ai/api (predefinito) e https://api.screenrig.ai/mcp |
I token di accesso sono JWT firmati con Ed25519 (EdDSA): un profilo solo EdDSA che usa le convenzioni di claim di RFC 9068 (typ: at+jwt, iss, aud, sub, client_id, scope, jti, iat, exp). Trattali come opachi: invia ciascuno come Authorization: Bearer e richiedi uno nuovo quando scade.
Gli errori dell’endpoint token sono JSON RFC 6749 (error, error_description) con Cache-Control: no-store:
error | Significato | Problema CLI |
|---|---|---|
invalid_grant | La sessione è stata revocata, scaduta o riutilizzata, o un codice è errato | session_ended: esegui screenrig login |
invalid_client | Client sconosciuto, o chiave, segreto o asserzione errati | client_auth_failed |
invalid_scope | Più accessi o capacità di quelli approvati | insufficient_access |
invalid_target | Un resource diverso dai due sopra | invalid_request |
authorization_pending, slow_down | Un accesso in attesa di approvazione | Il CLI continua ad attendere |
access_denied | La persona ha negato l’accesso | login_denied |
expired_token | Il codice di accesso è scaduto | login_expired: esegui screenrig login |
temporarily_unavailable | Riprova tra poco | service_unavailable |
rate_limited | Attendere Retry-After | rate_limited |
Richieste a /api con token di accesso scaduto o revocato rispondono 401 con WWW-Authenticate: Bearer error="invalid_token"; il CLI rinnova una volta e riprova una volta. Un token che chiama qualcosa che il suo livello di accesso non può fare risponde 403 insufficient_access con WWW-Authenticate: Bearer error="insufficient_scope" e il scope che lo autorizza.
Gli endpoint token e revocation accettano 1.200 richieste per indirizzo client all’ora, 60 rinnovi per sessione all’ora e 600 token service-client per client all’ora. Gli avvii di accesso sono limitati a 10 per indirizzo all’ora.