Hace poco una aplicación que hemos desarrollado para un cliente, que sube un vídeo a la plataforma de Azure destinada al streaming de vídeo (Azure Media Services), dejó de funcionar y no encontrábamos el motivo. Investigando un poco y pensando en la constante evolución de Azure dimos con el problema: se ha actualizado la manera de autenticarse.Hasta hace poco (hasta el 22 de junio de 2018 concretamente) se podía realizar la autenticación mediante Azure Access Control Service a Azure Media Services, pero con la actualización 4.0.0.4 pasamos a la autenticación mediante Azure Active Directory (Azure AD).
Esta autenticación mediante Azure AD es posible realizarse de dos maneras:
- Autenticación de usuario, mediante la cual se piden las credenciales del usuario para poder acceder al Azure Media Services.
- Autenticación de entidad de servicio, que como su nombre indica, autentica un servicio.
En nuestro caso, para facilitar el uso de la aplicación, decidimos que haríamos la autenticación como entidad de servicio, que es lo que voy a explicar a continuación.
Para poder realizar esta autenticación la aplicación debe obtener un token de acceso de AzureAD que usará para acceder a la API de Azure Media Services.
Para ello, tendremos que instalar el SDK de Azure Media Services para .NET mediante la descarga del paquete NuGet windowsazure.mediaservice.
ATENCIÓN: Aseguraos de que es la versión 4.0.0.4 o superior
Para poder generar el token de seguridad desde la aplicación es necesario contar con la siguiente información:
- El tenant de Azure donde está alojado el AD
- El endpoint de la API del Azure Media Service
- El ID y el Application Key del Azure AD al registrarlo como aplicación.
Nota: existe documentación en Internet donde se explican los pasos para obtener esta información, pero no vamos a abordarlo en este artículo.
Una vez que tenemos esta información usaremos los distintos constructores que nos proporciona el SDK descargado antes para generar el token:
Espero que os sirva de ayuda y que no os peguéis contra la pared como nosotros.
¡Saludos!
Adrián Herranz
SharePoint Developer | Microsoft Division | Sogeti Spain
Pingback: Update access to Azure Media Services with .NET – Nettech Post