Innledning
Ved bruk av en kjede som gjør flere API-kall med et utløpende autentiseringstoken, slik som de som brukes av Workivas API-er, er det en risiko for at tokenet kan utløpe før alle anropene er initiert. Hvis dette skjer, vil alle gjenværende API-kall mislykkes. Ny autentisering før hvert API-anrop kan forhindre dette problemet, men det vil føre til ekstra overhead i kjeden.
Denne veiledningen forklarer hvordan du implementerer malen Oppdater OAuth-tokens dynamisk. Malen er beregnet på kjeder som bruker HTTP Connector til å foreta API-kall der API-et krever autentisering via et token som har en utløpsdato og -klokkeslett. Den er utviklet for Workiva API, men kan tilpasses andre API-er som bruker lignende autentiseringsmetoder.
Kjeden inneholder en mekanisme som automatisk oppdaterer tokenet når det er i ferd med å utløpe. Den trekker fra 2 minutter (denne verdien kan justeres) fra det eksisterende tokenets utløpstid som en buffer, og sammenligner den med gjeldende tid. Hvis det aktuelle tidspunktet er senere enn det justerte utløpstidspunktet, starter kjeden en ny autentiseringsprosess for å generere et nytt token, som deretter sendes ut av kjeden. Hvis tokenet fortsatt er gyldig, hopper kjeden over ny autentisering og sender bare ut det eksisterende tokenet.
Merk: Hvis det ikke sendes noe token til denne kjeden, vil den automatisk gå gjennom autentiseringsprosessen og generere et token, noe som betyr at denne kjeden også kan brukes til den første autentiseringsforespørselen vår, samt eventuelle senere.
Forutsetninger
Kjeder
Følgende koblinger må være aktivert og konfigurert i arbeidsområdet ditt:
Malen inneholder følgende Workspace-variabler designet for bruk med Workiva API, endre og konfigurer etter behov:
- wsv_platform (appen der arbeidsområdet ditt befinner seg, for USA bruk "app", EU/EMEA bruk "eu", APAC bruk "apac")
- wsv_Client ID (API-tildelingens klient-ID)
- wsv_Client Secret (API-tildelingens hemmelighet)
Distribuere kjeden
Kjedemalen "Oppdater OAuth-tokens dynamisk" ligger i Workiva Chains-delen av maler-skjermbildet.
Slik finner du den:
- Gå til fanen Maler i Chain Builder
- Velg Workiva Chains fra menyen øverst
- Søk etter Refresh OAuth Tokens Dynamically Chain Template øverst til høyre, og åpne malen
- Når du har funnet malen, klikker du på Ny kjede for å distribuere den til arbeidsområdet ditt.
- Konfigurer malen for arbeidsområdet og API-et ditt.
- Husk å publisere kjeden når den er konfigurert, og hvis du ønsker å bruke den som den er, uten at det kreves endringer.
Merk: For detaljerte instruksjoner om hvordan du oppretter en kjede fra en mal, se artikkelen Opprett og administrer kjeder.
Konfigurer malen
Denne malen kan legges til i en eksisterende kjede ved hjelp av kommandoen Kjør kjede og vil fungere uten ytterligere endringer for Workiva API. Se her for instruksjoner om hvordan du bruker hendelseskommandoen "Kjør kjede".
Et eksempel på bruk av denne kjeden kan være i en eksisterende kommandogruppe som bruker iterasjon. Denne kjeden kan kjøres fra en "Kjør kjede"-hendelseskommando med en egen gren i gruppen, som setter dynamiske kjedevariabler med kjedeutgangene fra denne kjeden.
I kommandoen "Kjør kjede" kan du bruke den dynamiske kjedevariabelen din for å sikre at det alltid er det nyeste tokenet som sjekkes.
Deretter må du oppdatere den samme dynamiske kjedevariabelen med utdataene fra kommandoen "Kjør kjede".
Du kan deretter bruke de samme dynamiske kjedevariablene i alle HTTP-forespørselskommandoer du lager
Oppdater buffertiden
Som standard legger denne malen til en buffertid på 2 minutter til det eksisterende tokenets utløpstid for å unngå problemer med timing. Du kan endre dette i den betingede kommandoen "Sjekk om utløpsdatoen er nær".
Når du har redigert denne kommandoen, dobbeltklikker du på den første variabelen "Advanced Query - convert epoch timestamp - timestamp" i betingelsene.
Du kan deretter justere beløpsverdien slik du ønsker.