Ir al contenido
CtrlK

Autenticación

Cada llamada (salvo el endpoint de token de OAuth) lleva un token en la cabecera:

Authorization: Bearer vn_live_…

Los tokens y los clientes OAuth los creas en el CMS, en Ajustes › Acceso a la API. Para ello necesitas el permiso para la API (consulta Gestionar permisos).

La vía más sencilla para tus propios scripts y servidores: un token pertenece a tu cuenta, tiene permisos fijos y, si quieres, caduca. En el CMS lo revocas en cualquier momento y deja de ser válido al instante. El token se muestra una sola vez; guárdalo en un gestor de contraseñas o de secretos.

Si quieres que tu aplicación obtenga ella misma tokens de corta duración, creas un cliente OAuth e intercambias el ID de cliente y el secreto por un token:

Ventana de terminal
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 obtenido así es válido durante una hora. Después obtienes uno nuevo con la misma llamada. scope es opcional y solo puede restringir los permisos del cliente.

Para aplicaciones que trabajan en nombre de una persona de tu equipo, envías al usuario a la página de consentimiento del CMS:

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

Si el usuario da su consentimiento, el navegador vuelve a tu redirect_uri con ?code=…. El código lo intercambias en el endpoint de token con grant_type=authorization_code. Se puede usar una sola vez y es válido durante cinco minutos; la redirect_uri debe coincidir exactamente con una de las registradas en el cliente.

La respuesta contiene además un refresh token, con el que obtienes un token nuevo sin un nuevo consentimiento (grant_type=refresh_token):

  • Cada renovación devuelve un refresh token nuevo e invalida el anterior. Guarda siempre el más reciente.
  • Si se vuelve a usar un refresh token antiguo, viewneo bloquea toda la cadena y el usuario tiene que dar de nuevo su consentimiento.
  • Un refresh token es válido durante 90 días desde su último uso. También termina si se revoca el cliente, se cancela el complemento API o cambian los permisos del usuario.

Un token nunca puede hacer más de lo que permiten sus permisos, ni más de lo que puede hacer la persona que lo creó.

ScopepermitePermiso en el CMS
media:readleer archivos multimedia y carpetasMultimedia: Ver
media:writesubir, renombrar, mover y eliminar archivos multimediaMultimedia: Gestionar
playlists:readleer playlistsPlaylists: Ver
playlists:writecrear, renombrar y eliminar playlists; cambiar entradasPlaylists: Gestionar
devices:readleer dispositivos y gruposDispositivos: Ver
devices:writeactivar y configurar dispositivos, gestionar gruposDispositivos: Gestionar
reports:readpruebas de reproducción e informesDispositivos: Ver

Un scope :write incluye el :read correspondiente. Si falta el scope necesario, la API responde con 403 FORBIDDEN.