Wij willen dat een bestaande Invantive Exact Online-database blijft werken nadat we in Exact de autorisaties van de gekoppelde gebruiker hebben aangepast en de OAuth-koppeling in onze eigen applicatie opnieuw hebben gelegd. Dat lukt nu niet zonder de tokenketen te breken.
Waar we tegenaan lopen
Per tenant hebben we één Exact Online (nl)-database in Invantive Cloud, met Preauthenticated Credentials: alleen de refresh-token van onze eigen Exact OAuth-app. Zodra de database actief is, beheer Invantive Cloud het token; onze applicatie refresht die token dan niet meer.
Exact staat één actieve refresh-token toe per combinatie client-id en gebruiker. Als we in onze app opnieuw OAuth doen (nieuwe token, omdat de Exact Online-rechten zijn gewijzigd), blijft de oude Invantive-database op de vorige token refreshen. Daarna krijgen we itgeneor362 / itgenoda494.
Concreet voorbeeld (augustus 2026)
- Database in Invantive Cloud stond goed; OData4 via Bridge Online (
https://bridge-online.invantive.com/…/odata4) werkte. - In Exact Online zijn de autorisaties van dezelfde Cliëntgebruiker aangepast. Daarna is Exact in onze applicatie opnieuw gekoppeld → nieuwe refresh-token.
- Bij opnieuw zetten van credentials in Invantive (bestaande datacontainer
eolof nieuwe container in dezelfde database) kregen we onder meer:
itgeneor362
Er kan slechts één refresh token actief zijn op Exact Online voor een combinatie van client ID en gebruiker. […] Het verzoek om gegevens is gedaan met een verlopen refresh token of refresh token dat niet is geactiveerd door een opvolgende Exact Online API-aanroep. Vernieuw de autorisatie in de gebruikersinterface.
En eerder in dezelfde keten: itgenoda494 (obsoleted refresh token / gebruiker twee keer aan dezelfde OAuth-app).
Wat we al geprobeerd hebben (niet de juiste uitkomst)
- De oude refresh-token uit onze app opnieuw in de bestaande Invantive Cloud-datacontainer plakken → token was al gebruikt;
itgeneor362. - De datacontainer in de database verwijderen en een nieuwe container toevoegen met dezelfde (oude) token → zelfde melding; de verse token zat in de gewiste container.
- In Invantive op “autorisatie vernieuwen” klikken (hun eigen Exact Online-login, zelfde client-id + gebruiker) → tweede keten naast de onze, daarna opnieuw
itgeneor362/itgenoda494. - Een tweede Exact-datacontainer naast de oude laten staan → twee ketens, één wint, de andere sterft.
Wat wél weer werkte: oude datacontainer wissen, Exact Online in onze app opnieuw koppelen, 9,5 minuten wachten, daarna één nieuwe lege Exact Online (nl)-datacontrainer met Preauthenticated Credentials (client-id één keer, alleen de nieuwe refresh-token, niet wissen na plakken).
Vraag
Wat is het voorgeschreven proces als de Exact Online-autorisaties wijzigen en we daarom in onze app een nieuwe refresh-token krijgen, terwijl er al een Invantive-database op de oude token draait?
- Moet die nieuwe refresh-token altijd opnieuw in Invantive Cloud (bestaande
eol-container bijwerken, of altijd een nieuwe database/datacontainer)? - Of neemt Invantive de nieuwe keten zelf over bij dezelfde Exact-gebruiker + dezelfde client-id?
- Mag de oude database/datacontainer blijven staan tijdens de overstap, of moet die eerst weg om een tweede keten te voorkomen?
We zoeken de officiële volgorde, zodat we niet opnieuw twee ketens naast elkaar laten refreshen.
Omgeving
- Invantive Cloud (SaaS,
https://cloud.invantive.com) - Invantive Bridge Online, OData4 (
https://bridge-online.invantive.com) - Exact Online NL
- Authenticatie: Preauthenticated Credentials (refresh-token van onze OAuth-app)