Inleiding
Wanneer u een keten gebruikt die meerdere API-aanroepen doet met een verlooptoken voor authenticatie, zoals de API's van Workiva gebruiken, bestaat het risico dat het token verloopt voordat alle aanroepen zijn gestart. Als dit gebeurt, zullen alle resterende API-aanroepen mislukken. Opnieuw authenticeren voor elke API-aanroep zou dit probleem kunnen voorkomen, maar het zou extra overhead aan de keten toevoegen.
In deze handleiding wordt uitgelegd hoe u de sjabloon OAuth-tokens dynamisch verversen kunt implementeren. De sjabloon is bedoeld voor ketens die de HTTP Connector gebruiken om API-aanroepen te doen waarbij de API authenticatie vereist via een token met een vervaldatum en -tijd. Hoewel het gebouwd is voor de Workiva API, kan het aangepast worden voor andere API's die vergelijkbare authenticatiemethoden gebruiken.
De keten bevat een mechanisme om het token automatisch te vernieuwen als het bijna verlopen is. Het trekt 2 minuten (deze waarde kan aangepast worden) af van de vervaltijd van het bestaande token als buffer en vergelijkt dit met de huidige tijd. Als de huidige tijd later is dan de aangepaste vervaltijd, start de keten het herauthenticatieproces om een nieuw token te genereren, dat vervolgens door de keten wordt uitgevoerd. Als het token nog steeds geldig is, slaat de keten herauthenticatie over en wordt gewoon het bestaande token uitgevoerd.
Opmerking: Als er geen token wordt doorgegeven aan deze keten, zal deze automatisch het verificatieproces doorlopen en er een genereren, wat betekent dat deze keten ook gebruikt kan worden voor ons initiële (eerste) verificatieverzoek, samen met eventuele volgende verzoeken.
Vereisten
Kettingen
De volgende connectors moeten ingeschakeld en geconfigureerd zijn in uw werkruimte:
De sjabloon bevat de volgende Workspace variabelen ontworpen voor gebruik met de Workiva API, verander en configureer waar nodig:
- wsv_platform (de plaats waar uw werkruimte zich bevindt, gebruik voor de VS "app", EU/EMEA gebruik "eu", APAC gebruik "apac")
- wsv_Client ID (de client-ID van uw API-subsidie)
- wsv_Client Secret (het geheim van uw API-subsidie)
De ketting inzetten
Het ketensjabloon "OAuth-tokens dynamisch verversen" bevindt zich in de Workiva Chains sectie van het scherm Templates.
Zo vindt u het:
- Ga in Chain Builder naar het tabblad Sjablonen
- Selecteer Workiva Ketens in het menu bovenaan
- Zoek rechtsboven naar Refresh OAuth Tokens Dynamically Chain Template en open de sjabloon
- Nadat u de sjabloon hebt gevonden, klikt u op New Chain om deze op uw werkruimte te implementeren.
- Configureer de sjabloon voor uw werkruimte en API.
- Vergeet niet om de ketting te publiceren zodra deze geconfigureerd is en als u deze wilt gebruiken zoals hij is, zonder dat er wijzigingen nodig zijn.
Opmerking: Voor gedetailleerde instructies over het maken van een ketting vanuit een sjabloon, zie het artikel Ketens maken en beheren.
De sjabloon configureren
Deze sjabloon kan aan een bestaande keten worden toegevoegd met de opdracht Run Chain en werkt zonder extra aanpassingen voor de Workiva API. Zie hier voor instructies over het gebruik van het "Run Chain" gebeurteniscommando.
Een voorbeeldgebruiksgeval voor deze keten zou binnen een bestaande commandogroep zijn die iteratie gebruikt. Deze keten zou uitgevoerd kunnen worden vanuit een "Run Chain" event commando met zijn eigen tak in de groep, het instellen van dynamische ketenvariabelen met de ketenuitgangen van deze keten.
Binnen de opdracht "Keten uitvoeren" kunt u uw dynamische ketenvariabele gebruiken om ervoor te zorgen dat het altijd het laatste token is dat gecontroleerd wordt.
Vervolgens moet u diezelfde dynamische kettingvariabele bijwerken met de uitvoer van de opdracht "Run Chain".
U kunt dan diezelfde dynamische ketenvariabelen gebruiken in alle HTTP-aanvraagcommando's die u maakt
De buffertijd bijwerken
Standaard voegt deze sjabloon een buffertijd van 2 minuten toe aan de vervaltijd van het bestaande token om timingproblemen te voorkomen. U kunt dit wijzigen in de voorwaardelijke opdracht "Controleren of vervaldatum dicht is".
Nadat u deze opdracht hebt bewerkt, dubbelklikt u op de eerste variabele "Advanced Query - convert epoch timestamp - timestamp" in de voorwaarden.
U kunt dan de waarde van het bedrag naar wens aanpassen.