Authentification

L’API Frame.io V4 utilise le service Adobe Identity Management (IMS), la plateforme d’authentification OAuth 2.0 d’Adobe. Il existe deux catégories d’authentification :

Authentification de serveur à serveur

Permet aux utilisateurs des comptes techniques ou de service d’effectuer des opérations sans interactions entre utilisateurs. Disponible uniquement pour les comptes Frame.io V4 gérés via l’Adobe Admin Console.

Authentification des utilisateurs

Agit en tant qu’utilisateur auquel ce jeton appartient. Cette fonctionnalité est disponible pour tous les comptes Frame.io V4 gérés via l’Adobe Admin Console, ainsi que pour les comptes gérés par Frame qui sont passés à l’authentification Adobe.


Guides d’authentification des SDK

Les SDK Frame.io gèrent l’intégralité du cycle de vie OAuth pour vous : URL d’autorisation, échange de jetons, actualisation automatique et révocation. Choisissez votre langue pour commencer :

Si vous créez un service backend ou une automatisation, commencez avec Serveur à serveur. Si votre appli a des utilisateurs qui se connectent, choisissez Application web (si vous pouvez stocker un secret client) ou SPA (si vous ne pouvez pas).


Authentification des utilisateurs

Les informations d’authentification des utilisateurs sont créées dans l’Adobe Developer Console. Adobe prend en charge trois types d’informations d’identification ; choisissez celui qui correspond à l’architecture de votre application :

Le SDK Python de Frame.io ne comprend pas de classe d’informations d’identification pour les applications natives, car Python ne dispose pas de méthode standard pour enregistrer des gestionnaires de schémas URI personnalisés. Utilisez plutôt l’application web avec un serveur de rappel local. Le SDK TypeScript prend en charge ces trois types d’informations d’identification.


Authentification de serveur à serveur

L’authentification de serveur à serveur permet à votre application d’agir en tant qu’utilisateur d’un compte de service, sans intervention humaine. Votre application s’authentifie à l’aide des informations d’identification du client et reçoit directement un jeton d’accès. Les actions liées au compte de service sont visibles dans Frame.io sous le nom du compte de service. L’accès au compte de service est géré depuis l’Adobe Admin Console et la Developer Console. Il n’est actuellement pas possible de modifier le nom du compte de service. Pour plus de détails sur la mise en œuvre, veuillez consulter les guides spécifiques des SDK ci-dessus.

Voir Automatiser votre configuration grâce à la prise en charge de serveur à serveur de Frame.io pour en savoir plus sur la configuration d’un compte de service.


Fonctionnement de l’authentification Adobe IMS

Le service Adobe Identity Management (IMS) est la fonctionnalité de gestion des identités d’Adobe basée sur OAuth 2.0 ; il prend en charge l’authentification. La génération du jeton d’accès se fait en deux étapes :

1

Autorisation de l’utilisateur

Tout d’abord, l’utilisateur doit autoriser l’application avant qu’un jeton ne soit généré. Vous trouverez plus de détails ici.

2

Échange de jetons

Ensuite, récupérez le jeton d’accès. L’étape ci-dessus renvoie, dans le corps de la réponse, un code nécessaire pour cette étape. Découvrez les points d’entrée précis auxquels vous devez accéder, ainsi que les paramètres à utiliser ici.

Les étapes ci-dessus s’appliquent aux trois types d’informations d’identification d’application. La procédure d’accès aux points d’entrée IMS /authorize/v2 et /token/v3 pour obtenir le jeton diffère. Une fois que vous disposez du jeton d’accès, vous pouvez l’utiliser pour interagir avec l’API Frame.io V4.

Pour l’authentification de serveur à serveur, il n’y a pas d’étape d’autorisation de l’utilisateur : l’application utilise directement les informations d’identification du client pour obtenir un jeton d’accès via le mode d’octroi client_credentials.

Utilisation du jeton d’accès

Une fois que vous disposez d’un jeton d’accès, veuillez l’inclure dans l’en-tête d’autorisation de chaque requête API :

Authorization: Bearer <ACCESS_TOKEN>

Les SDK Frame.io s’en chargent pour vous : il vous suffit de transmettre le jeton (ou une fonction appelable fournissant le jeton) lors de la création du client.

Durée de vie du jeton

Les jetons d’accès ont une durée de vie limitée : ils expirent généralement au bout d’une heure. Pour les flux d’authentification des utilisateurs (application web, SPA, application native), Adobe IMS renvoie également un jeton d’actualisation qui permet d’obtenir un nouveau jeton d’accès sans que l’utilisateur ait à se reconnecter. Les jetons d’actualisation ont une durée de vie plus longue, mais ils finissent eux aussi par expirer.

Dans le cadre de l’authentification de serveur à serveur, il n’y a pas de jetons d’actualisation. Les informations d’identification du client n’expirent jamais (à moins d’être renouvelées manuellement) ; l’application peut donc toujours présenter une requête pour obtenir un nouveau jeton d’accès.

Les SDK Frame.io gèrent automatiquement l’actualisation des jetons. Consultez les guides spécifiques des SDK pour plus de détails.

Portées

Lorsque vous créez des informations d’identification dans l’Adobe Developer Console, vous configurez des champs d’application OAuth qui déterminent les éléments auxquels votre application peut accéder. Les SDK Frame.io utilisent les portées par défaut suivantes :

FluxPortées par défaut
De serveur à serveuropenid AdobeID frame.s2s.all
Authentification utilisateur (appli web, SPA, appli native)openid email profile offline_access additional_info.roles

La portée offline_access est requise pour que les flux d’authentification des utilisateurs puissent recevoir un jeton d’actualisation. Sans cela, vous n’obtiendrez qu’un jeton d’accès et les utilisateurs devront se réauthentifier à son expiration.


Jetons de développeur hérités

Pour les comptes ayant migré vers la version 4 qui ne sont pas encore gérés via l’Adobe Admin Console, vous pouvez continuer à utiliser les jetons de développeur hérités gérés sur le site des développeurs Frame.io. Transmettez le jeton directement au SDK :

from frameio import Frameio
client = Frameio(
token="YOUR_LEGACY_DEVELOPER_TOKEN",
headers={"x-frameio-legacy-token-auth": "true"},
)

Lorsque vous utilisez un jeton de développeur hérité avec l’API V4, vous devez ajouter l’en-tête x-frameio-legacy-token-auth avec la valeur true à toutes vos requêtes API. Si vous utilisez le SDK, configurez-le via les options de requête du client.

Les jetons de développeur hérités n’expirent pas, mais ils constituent un mécanisme transitoire. Pour les nouvelles intégrations et les charges de travail en production, nous vous recommandons d’utiliser l’un des flux OAuth 2.0 ci-dessous. Pour plus de détails, consultez le guide de migration.

Si vous êtes un client de type entreprise et que vous effectuez une migration d’une ancienne version de Frame.io vers la version 4, veuillez contacter votre responsable de compte pour obtenir de l’aide concernant la configuration du jeton de développeur hérité et de la version 4.

Pour plus d’informations sur la transition des jetons hérités vers l’authentification Adobe IMS, veuillez consulter le guide de migration.