Salta ai contenuti
CtrlK

Autenticazione

Ogni chiamata (tranne l’endpoint token di OAuth) porta un token nell’header:

Authorization: Bearer vn_live_…

Token e client OAuth li crei nel CMS in Impostazioni › Accesso API. Per farlo ti serve il permesso per l’API (vedi Gestire i permessi).

La strada più semplice per i tuoi script e server: un token appartiene al tuo account, ha permessi fissi e, se vuoi, scade. Nel CMS lo revochi in qualsiasi momento – smette subito di essere valido. Il token viene mostrato una sola volta; conservalo in un gestore di password o di segreti.

Se la tua applicazione deve procurarsi da sola token di breve durata, crei un client OAuth e scambi ID client e segreto con un token:

Terminal window
curl https://cloud.viewneo.com/api/public/v1/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "client_credentials",
"client_id": "'"$CLIENT_ID"'",
"client_secret": "'"$CLIENT_SECRET"'",
"scope": "media:read playlists:read"
}'

Un token ottenuto in questo modo vale un’ora. Poi ne ottieni uno nuovo con la stessa chiamata. scope è facoltativo e può solo restringere i permessi del client.

Per le applicazioni che lavorano per conto di una persona del tuo team, mandi l’utente alla pagina di consenso del CMS:

https://cloud.viewneo.com/oauth/authorize?client_id=…&redirect_uri=…&scope=media:read%20playlists:read&state=…

Se l’utente acconsente, il browser torna alla tua redirect_uri con ?code=…. Il codice lo scambi all’endpoint token con grant_type=authorization_code. È utilizzabile una sola volta e vale cinque minuti; la redirect_uri deve corrispondere esattamente a una di quelle registrate per il client.

La risposta contiene inoltre un refresh token, con cui ottieni un nuovo token senza un nuovo consenso (grant_type=refresh_token):

  • Ogni refresh fornisce un nuovo refresh token e rende non valido quello vecchio. Salva sempre il più recente.
  • Se un vecchio refresh token viene usato di nuovo, viewneo blocca l’intera catena – l’utente deve acconsentire di nuovo.
  • Un refresh token vale 90 giorni dall’ultimo utilizzo. Termina anche se il client viene revocato, il plugin API viene disdetto o i permessi dell’utente vengono modificati.

Un token non può mai fare più di quanto consentono i suoi permessi – e mai più di quanto può fare la persona che l’ha creato.

ScopeconsentePermesso nel CMS
media:readleggere file multimediali e cartelleFile multimediali: Vedi
media:writecaricare, rinominare, spostare, eliminare file multimedialiFile multimediali: Gestisci
playlists:readleggere le playlistPlaylist: Vedi
playlists:writecreare, rinominare, eliminare playlist; modificare le vociPlaylist: Gestisci
devices:readleggere dispositivi e gruppiDispositivi: Vedi
devices:writeattivare e configurare dispositivi, gestire gruppiDispositivi: Gestisci
reports:readprove di riproduzione e reportDispositivi: Vedi

Uno scope :write include il corrispondente :read. Se manca lo scope necessario, l’API risponde con 403 FORBIDDEN.