Beveiligde toegang tot Google API met OAuth-autorisatie en tokenopslag
Leer hoe je slimme productiviteitsapps bouwt (zoals een AI-agent) die integreren met Google API's door gebruik te maken van Logto Secret Vault voor veilige toegang en opslag van refresh tokens, incrementele autorisatie en naadloze OIDC/OAuth 2.0-integratie.
In het hedendaagse verbonden digitale landschap bieden applicaties die moeiteloos met diensten van derden integreren een uitzonderlijke gebruikerservaring. Of je nu werkt aan een productiviteitssuite, een AI-agent of een platform voor documentensamenwerking, het vermogen om veilig toegang te krijgen tot en gebruik te maken van API's van diensten zoals Google, GitHub, Facebook of andere, kan je applicatie van goed naar onmisbaar transformeren.
Vandaag verkennen we hoe Logto's Secret Vault en Social Connector-mogelijkheden je in staat stellen om een slimme productiviteitsapplicatie te bouwen die integreert met Google API's. We laten zien hoe je tokens veilig opslaat, toegangs tokens ophaalt voor AI-toegang, incrementele autorisatie regelt en moeiteloos met diensten van derden integreert.
De uitdaging: Een slimme agenda-assistent bouwen
Stel je voor dat je werkt aan een "Slimme Agenda-Assistent", een applicatie die gebruikers helpt hun agenda's op een slimme manier te beheren. Dit is wat je app moet kunnen:
- Basis authenticatie: Gebruikers loggen in met hun Google-account om toegang te krijgen tot de app.
- Profielbeheer: Toon basisprofielinformatie van de gebruiker.
- Agenda-integratie: Lees agenda-afspraken voor inzicht in het schema.
- Geavanceerde functies: Maak agenda-afspraken aan, stuur uitnodigingen via Gmail en beheer Google Drive-documenten, maar alleen wanneer gebruikers deze premiumfuncties expliciet aanvragen.
De uitdaging? Je hebt verschillende niveaus van toegang tot de Google API op verschillende momenten nodig en je moet tokens veilig opslaan voor voortdurende API-bewerkingen, zonder dat gebruikers steeds opnieuw hoeven in te loggen.
Oplossing: Incrementele autorisatie van Logto met Secret Vault
De aanpak van Logto lost dit elegant op door:
- Minimale initiële scopes: Vraag alleen de noodzakelijke machtigingen bij het inloggen.
- Incrementele autorisatie: Vraag extra scopes aan op aanvraag voor premium functies.
- Veilige tokenopslag: Sla toegang- en refresh tokens op in de versleutelde Secret Vault.
- Automatische tokenvernieuwing: Handelt verlopen tokens transparant af.
Laten we de implementatie doorlopen.
Stap 1: Google-connector instellen met basis-scopes
Maak eerst je Google-connector aan en configureer deze in de Logto Console. Stel tijdens het eerste opzetten minimale scopes in voor basis authenticatie:
Bekijk de Google API Library en de OAuth 2.0 scopes-documentatie om de noodzakelijke scopes voor je app te bepalen.
Belangrijke configuratiestappen:
- Maak een Google OAuth-client aan in de Google Cloud Console. Vink alle scopes aan die je applicatie nodig heeft.
- Configureer de Logto Google-connector met je client credentials. Voeg de hierboven genoemde minimale scopes toe in het veld
Scopes
. - Zet Sla tokens op voor blijvende API-toegang aan in de connector-instellingen.
- Stel Prompts in op onder meer
consent
en schakel Offline Access in zodat er refresh tokens worden uitgegeven.
Zie de Logto documentatie voor meer details over het instellen van de Google connector.
Met deze setup kunnen gebruikers inloggen en geeft je app toegang om hun agenda-afspraken te lezen. Perfect voor het geven van eenvoudige schema-inzichten.
Stap 2: Inlogflow implementeren
Ga naar Logto > Sign-in experience > Sign-up and sign-in. Voeg de Google-connector toe onder het onderdeel 'Social sign-in' zodat gebruikers met Google kunnen inloggen.
Wanneer gebruikers inloggen met Google, doet Logto automatisch het volgende:
- Authentiseert de gebruiker met de geconfigureerde scopes.
- Slaat de toegang- en refresh tokens veilig op in de Secret Vault.
- Geeft je applicatie gebruikersprofielinformatie terug.
De tokens zijn nu veilig opgeslagen en gekoppeld aan de Google-identiteit van de gebruiker, klaar voor API-aanroepen.
Stap 3: Google API's benaderen met opgeslagen tokens
Om de agenda-afspraken van de gebruiker te lezen, haal je het opgeslagen toegangstoken op en roep je de Google Calendar API aan:
Logto verzorgt automatisch het vernieuwen van tokens. Als het toegangstoken is verlopen, maar er is een refresh token beschikbaar, vraagt Logto zonder extra handelingen een nieuw toegangstoken aan.
Stap 4: Incrementele autorisatie voor premiumfuncties
Als gebruikers premiumfuncties willen gebruiken (zoals agenda-afspraken aanmaken of Gmail-gebruik), gebruik je Logto's Social Verification API om extra scopes aan te vragen:
Na het verlenen van extra rechten door de gebruiker, maak je de verificatie af en werk je de opgeslagen tokens bij:
Nu kan je app agenda-afspraken aanmaken en e-mails verzenden met het bijgewerkte token inclusief de nieuwe scopes.
Stap 5: Tokenstatus beheren
Logto Console biedt uitgebreide beheercapaciteiten voor tokens. Ga naar User Management > selecteer een gebruiker > Social Connections om te bekijken:
- Tokenstatus: Actief, Verlopen, Inactief of Niet van toepassing
- Tokenmetadata: Aanmaaktijd, laatste update, verloop en verleende scopes
- Connectiebeheer: Bekijk profielinformatie gesynchroniseerd vanuit Google
Dankzij dit inzicht kunnen beheerders gebruikersverbindingen beter begrijpen en eventuele tokenproblemen oplossen.
Verder dan Google: Uitgebreide integratie met derden
Je kunt je Slimme Agenda-Assistent uitbreiden door te integreren met uiteenlopende diensten naast Google. Populaire social connectors zijn onder meer Google voor authenticatie, agenda- en Gmail-integratie, GitHub voor code repositories en issue management, en Facebook voor social features en marketinginzichten. Extra connectors met ondersteuning voor tokenopslag zijn binnenkort beschikbaar.
Voor maatwerk integraties biedt Logto flexibele opties via standaard OIDC of OAuth 2.0 connecties. Dit allesomvattende ecosysteem maakt het mogelijk vrijwel elke externe dienst die jouw organisatie gebruikt te koppelen.
Beveiliging en best practices
Logto's Secret Vault past beveiliging op ondernemingsniveau toe:
- Per-secret encryptie: Elke token set gebruikt unieke Data Encryption Keys (DEK)
- Key wrapping: DEK's zijn versleuteld met Key Encryption Keys (KEK)
- Minimale blootstelling: Tokens worden alleen ontsleuteld wanneer nodig voor API-aanroepen
- Automatische opschoning: Tokens worden verwijderd wanneer gebruikers hun accounts ontkoppelen of connectors worden verwijderd
Conclusie
Logto is een ontwikkelaarsvriendelijk authenticatieplatform dat veilige applicaties mogelijk maakt met uitgebreide integratie van diensten van derden.
Met incrementele autorisatie en veilige tokenopslag van Logto levert je Slimme Agenda-Assistent een naadloze gebruikerservaring, waarbij functionaliteit en veiligheid worden gebalanceerd. Gebruikers genieten van een probleemloze onboarding via single sign-on waarbij alleen minimale rechten worden gevraagd voor kernfuncties. Zodra ze geavanceerdere mogelijkheden willen gebruiken, activeert gefaseerde toestemming premiumfuncties via natuurlijke, contextuele machtigingsaanvragen.
Blijvende toegang door veilig opgeslagen tokens maakt doorlopende API-bewerkingen mogelijk zonder gebruikers steeds opnieuw lastig te vallen voor authenticatie, wat zorgt voor een soepele professionele ervaring. Dit systeem is vanaf de basis ontworpen met veiligheid in gedachten en maakt gebruik van encryptie op ondernemingsniveau om gebruikersgegevens te beschermen en vertrouwen te behouden.
Zelf aan de slag met je eigen integratie met externe API’s? Zo begin je:
- Logto instellen: Maak je Logto tenant aan en configureer je eerste social connector
- Tokenopslag inschakelen: Zet "Sla tokens op voor blijvende API-toegang" aan in je connectorinstellingen
- Incrementele Auth implementeren: Gebruik de Social Verification API voor het op aanvraag aanvragen van extra scopes
- Bouwen en opschalen: Breid uit naar extra providers met Logto's uitgebreide connector-ecosysteem
De toekomst van applicatieontwikkeling ligt in naadloze dienstintegratie. Met Logto's Secret Vault en Connectors heb je de tools in handen om applicaties te bouwen die niet alleen functioneel zijn, maar écht verbonden zijn met de diensten waarop je gebruikers dagelijks vertrouwen.
Meer ontdekken? Bekijk onze integratiegidsen en begin vandaag nog met het bouwen van je volgende verbonden applicatie.