Français
  • Secret Vault
  • Stockage des jetons
  • Services tiers
  • Google

Sécuriser l'accès à l'API Google avec l'autorisation OAuth et le stockage des jetons

Découvrez comment créer des applications de productivité intelligentes (ex : agent IA) qui s’intègrent aux APIs Google en utilisant Logto Secret Vault pour un accès sécurisé et le stockage des jetons d’actualisation, l'autorisation incrémentale et une intégration transparente OIDC/OAuth 2.0.

Ran
Ran
Product & Design

Arrêtez de perdre des semaines sur l'authentification des utilisateurs
Lancez des applications sécurisées plus rapidement avec Logto. Intégrez l'authentification des utilisateurs en quelques minutes et concentrez-vous sur votre produit principal.
Commencer
Product screenshot

Dans le paysage numérique interconnecté d'aujourd'hui, les applications capables de s'intégrer facilement avec des services tiers offrent des expériences utilisateur exceptionnelles. Que vous développiez une suite de productivité, un agent IA ou une plateforme de collaboration documentaire, la capacité d'accéder et d’utiliser en toute sécurité les APIs de services comme Google, GitHub, Facebook ou d’autres peut transformer votre application de bonne à indispensable.

Aujourd'hui, nous allons voir comment les capacités Secret Vault et Social Connector de Logto vous permettent de créer une application de productivité intelligente intégrant les APIs Google. Nous allons démontrer un stockage sécurisé des jetons, la récupération des jetons d’accès pour l’IA, l’autorisation incrémentale et une intégration transparente des services tiers.

Le défi : Créer un assistant agenda intelligent

Imagine que tu développes un « Assistant Agenda Intelligent », une application qui aide les utilisateurs à gérer intelligemment leurs plannings. Voici ce que ton application doit accomplir :

  1. Authentification de base : Les utilisateurs se connectent avec leur compte Google pour accéder à l'application.
  2. Gestion de profil : Afficher les informations de base du profil utilisateur.
  3. Intégration agenda : Lire les événements du calendrier pour fournir des insights sur le planning.
  4. Fonctionnalités avancées : Créer des événements dans le calendrier, envoyer des invitations à des réunions via Gmail, et gérer les documents Google Drive, mais uniquement lorsque l’utilisateur demande explicitement ces fonctions premium.

Le défi ? Tu as besoin de différents niveaux d’accès à l’API Google à différents moments, et tu dois stocker les jetons en toute sécurité pour des opérations API continues sans solliciter en permanence l’utilisateur pour ré-authentification.

Solution : Autorisation incrémentale de Logto avec Secret Vault

L'approche de Logto répond élégamment à ce défi grâce à :

  • Scopes initiaux minimaux : Demander uniquement les permissions essentielles lors de la connexion.
  • Autorisation incrémentale : Demander des scopes additionnels à la demande pour les fonctions premium.
  • Stockage sécurisé des jetons : Stocker et gérer les jetons d'accès/d’actualisation dans le Secret Vault chiffré.
  • Renouvellement automatique des jetons : Gérer l’expiration des jetons de manière transparente.

Voyons la mise en œuvre étape par étape.

Étape 1 : Configurer le connecteur Google avec les scopes de base

Commence par créer et configurer ton connecteur Google dans la Console Logto. Lors de la configuration initiale, utilise des scopes minimaux pour l’authentification de base :

Consulte la bibliothèque d'APIs Google et la documentation des scopes OAuth 2.0 pour trouver les scopes adaptés à ton application.

Étapes clés de configuration :

  1. Crée un client OAuth Google dans la Google Cloud Console. Sélectionne tous les scopes nécessaires à ton application.
  2. Configure le connecteur Google Logto avec les identifiants de ton client. Ajoute les scopes minimaux listés ci-dessus dans le champ Scopes.
  3. Active Stocker les jetons pour un accès API persistant dans les paramètres du connecteur.
  4. Défini Prompts pour inclure consent et active Accès hors ligne pour t’assurer que des jetons d’actualisation seront délivrés.

Plus de détails dans la documentation Logto sur la configuration du connecteur Google.

Cette configuration permet aux utilisateurs de se connecter et autorise ton application à lire leurs événements de calendrier. Idéal pour fournir des insights de planning de base.

Étape 2 : Implémenter le flux de connexion

Va dans Logto > Expérience de connexion > Inscription et connexion. Ajoute le connecteur Google sous la section Connexion sociale pour permettre l'authentification via Google.

Lorsque les utilisateurs se connectent avec Google, Logto :

  • Authentifie l'utilisateur avec les scopes configurés.
  • Stocke les jetons d’accès et d’actualisation en toute sécurité dans le Secret Vault.
  • Retourne les informations de profil utilisateur à ton application.

Les jetons sont à présent stockés en toute sécurité et liés à l'identité Google de l'utilisateur, prêts pour des appels API.

Étape 3 : Accéder aux APIs Google avec les jetons stockés

Pour lire les événements du calendrier utilisateur, récupère le jeton d'accès stocké puis appelle l’API Google Calendar :

Logto gère automatiquement le rafraîchissement des jetons. Si le jeton d’accès a expiré mais qu’un jeton d’actualisation existe, Logto obtiendra un nouveau jeton d’accès de façon transparente.

Étape 4 : Autorisation incrémentale pour les fonctions premium

Quand un utilisateur souhaite accéder aux fonctions premium (comme la création d’événements ou l’envoi de mails avec Gmail), utilise l’API de vérification sociale Logto pour demander des scopes supplémentaires :

Après que l'utilisateur ait accordé les permissions supplémentaires, finalise la vérification et mets à jour les jetons stockés :

Ton application peut désormais créer des événements et envoyer des mails avec le jeton mis à jour, incluant les nouveaux scopes.

Étape 5 : Gérer le statut des jetons

La Console Logto offre de larges capacités de gestion des jetons. Accède à Gestion des utilisateurs > sélectionner un utilisateur > Connexions sociales pour visualiser :

  • Statut du jeton : Actif, expiré, inactif ou non applicable
  • Métadonnées du jeton : Date de création, dernière mise à jour, expiration et scopes accordés
  • Gestion de la connexion : Voir les infos de profil synchronisées depuis Google

Cette visibilité aide les administrateurs à comprendre les états de connexion des utilisateurs et à résoudre d’éventuels problèmes liés aux jetons.

Au-delà de Google : Intégration complète de services tiers

Tu peux élargir ton assistant agenda pour intégrer de multiples services au-delà de Google. Parmi les connecteurs sociaux populaires : Google pour l’authentification, l’agenda et Gmail, GitHub pour la gestion de code et d’incidents, et Facebook pour les fonctions sociales et les insights marketing. D’autres connecteurs préconfigurés avec stockage sécurisé des jetons arrivent bientôt.

Pour les intégrations personnalisées, Logto offre des options flexibles via une connexion standard OIDC ou OAuth 2.0. Cet écosystème complet permet de te connecter à quasiment n’importe quel service tiers utilisé par ton organisation.

Sécurité et bonnes pratiques

Le Secret Vault de Logto emploie un niveau de sécurité entreprise :

  • Chiffrement par secret : Chaque ensemble de jetons possède ses propres clés de chiffrement (DEK)
  • Enrobage de clés : Les DEK sont chiffrées avec des clés d’enrobage (KEK)
  • Exposition minimale : Les jetons ne sont déchiffrés que lorsque cela est nécessaire pour un appel API
  • Nettoyage automatique : Les jetons sont supprimés quand l’utilisateur se déconnecte ou que les connecteurs sont retirés

Conclusion

Logto est une plateforme d’authentification orientée développeur qui permet de sécuriser les applications avec une intégration complète des services tiers.

Grâce à l'autorisation incrémentale et au stockage sécurisé des jetons avec Logto, ton Assistant Agenda Intelligent offre une expérience utilisateur fluide associant fonctionnalités et sécurité. Les utilisateurs profitent d’une intégration simple via le SSO en ne donnant que les permissions minimales pour les fonctions de base. Lorsqu’ils souhaitent découvrir les fonctions avancées, des autorisations progressives débloquent naturellement les fonctions premium dans le contexte adapté.

L’accès persistant grâce aux jetons stockés en toute sécurité permet des opérations API continues sans déranger constamment l’utilisateur pour se reconnecter, créant ainsi une expérience professionnelle fluide. Ce système est conçu avec la sécurité dès l’origine, utilisant un chiffrement de niveau entreprise pour protéger les identifiants et maintenir la confiance.

Prêt à créer ta propre intégration d’API tierce ? Voici comment commencer :

  1. Configure Logto : Crée ton tenant Logto et paramètre ton premier connecteur social
  2. Active le stockage des jetons : Coche « Stocker les jetons pour un accès API persistant » dans les paramètres du connecteur
  3. Implémente l’authentification incrémentale : Utilise l’API de vérification sociale pour les demandes de scopes à la volée
  4. Déploie et fais évoluer : Élargis à d’autres services via l’écosystème complet de connecteurs de Logto

Le futur du développement logiciel se trouve dans l’intégration sans couture des services. Avec Logto Secret Vault et les connecteurs, tu disposes des outils pour bâtir des applications non seulement fonctionnelles, mais véritablement interconnectées avec les services sur lesquels tes utilisateurs comptent au quotidien.

Tu veux aller plus loin ? Découvre nos guides d’intégration et commence à construire dès aujourd’hui ta prochaine application connectée.