Flux d'autorisation de code OAuth 2
Vue d’ensemble
Frame.io prend en charge la création et la gestion d’applications OAuth 2. Contrairement aux jetons de développeur, les applications OAuth 2 permettent à n’importe quel Utilisateur Frame.io d’octroyer ses informations d’identification via une connexion sécurisée, après quoi l’Application peut agir au nom de cet Utilisateur.
En termes simples, les applications OAuth 2 sont idéales pour tout scénario d’intégration dans lequel le contexte et l’accès d’un Utilisateur individu sont importants.
Flux de code OAuth 2
La séquence de base
À un niveau très élevé, OAuth 2 compte trois parties :
- L’Utilisateur (dans notre cas : toute personne disposant d’un Nom d’utilisateur Frame.io)
- L’Application cliente (l’Application OAuth2.0 externe)
- Le Serveur d’informations d’identification (dans notre cas : Frame.io)
Le flux de code pour OAuth 2 est un processus en quatre étapes au cours duquel :
- L’Application présente à l’Utilisateur un écran de connexion
- L’Utilisateur saisit ses informations d’identification, qui vont directement au Serveur
- Si la connexion réussit, le Serveur renvoie une page demandant à l’Utilisateur de confirmer qu’il souhaite octroyer un ensemble préconfiguré de portées d’accès à l’Application
- Si l’Utilisateur consent, le Serveur envoie à l’Application un jeton qui peut être utilisé pour agir au nom de l’Utilisateur avec les portées demandées.
De cette manière, une Application cliente peut prendre des mesures au nom de l’Utilisateur, en toute sécurité, avec l’autorisation de l’Utilisateur et (surtout) sans jamais voir ni gérer les informations d’identification réelles de l’Utilisateur.
Le cycle de rappel
La séquence ci-dessus repose sur le Serveur (Frame.io) hébergeant deux services, chacun avec sa propre route :
Le rôle de l’application OAuth 2 dans ce cycle est de s’identifier auprès du serveur et d’effectuer ces deux requêtes.
Exemple rapide
Avez-vous déjà créé une application OAuth 2 ?
Si vous connaissez déjà le fonctionnement d’OAuth2.0, l’exemple ci-dessous peut suffire pour commencer.Si vous souhaitez un peu plus de détails, consultez le guide plus détaillé ici.
Configuration de votre application
- Connectez-vous au Frame.io Developer Portal avec vos identifiants Frame.io, accédez à OAuth Apps à l’aide des liens dans la partie gauche, puis cliquez sur Nouveau pour commencer à configurer votre application.
- Dans l’écran suivant, saisissez un Nom et un URI de redirection pour votre application, sélectionnez vos Portées, puis choisissez d’utiliser PKCE ou non.
- Enregistrez : vous devriez maintenant voir la configuration de votre nouvelle application.
À propos de PKCE
Le paramètre Proof Key for Code Exchange (« pixie ») permet à votre application de demander des jetons sans fournir son client_secret.Par conséquent, aucun client_secret ne vous sera fourni et vous ne devez pas inclure d’en-tête Authorization lors de l’envoi POST pour un jeton dans le cycle de rappel de votre application.Cela dit, vous devez inclure votre client_id dans votre rappel, sinon votre requête sera refusée.
Quand dois-je utiliser PKCE ?
En général, l’utilisation de PKCE n’a aucun effet secondaire négatif et constitue l’approche recommandée et privilégiée.Lors du développement d’une application client OAuth2.0, vous implémenterez le flux d’autorisation de code dans l’un des deux contextes suivants :
- Privé : votre flux est implémenté dans un langage côté serveur (Python, Java) et vous pouvez gérer en toute sécurité votre
client_secretdans un serveur que vous contrôlez.- Public : votre flux est implémenté dans un langage côté client (JavaScript) ou directement sur un appareil client contrôlé par un utilisateur final (iOS, Android).
En règle générale, vous pouvez considérer une application comme « publique » si vous, en tant que développeur de l’application, ne pouvez pas voir et contrôler tout le trafic réseau lié à l’échange de secrets. Cela signifie qu’en plus des applications côté client, les applications d’appareil mobile, les appareils intégrés ou tout appareil qui se trouve sur le réseau d’un utilisateur final (AppleTV, Roku, etc.) doivent être considérés comme publics.
Dans les contextes privés, vous pouvez utiliser PKCE. Dans les contextes publics, vous devez utiliser PKCE.
Création de votre application OAuth 2
Maintenant que vous avez une configuration d’app dans Frame.io, vous pouvez configurer votre serveur de rappel pour gérer les deux routes principales afin de compléter le cycle de rappel, selon le tableau ci-dessus.
Pour des informations plus détaillées sur la création de votre application, veuillez consulter Création d’une app OAuth 2.