Data Hub instellingen voor verbinding met Loket.nl

Hoe stel ik precies de connection in met Invantive Data Hub naar Loket.

Dit met een eigen client ID en client secret.

Het settings*.xml-bestand bevat:

<?xml version="1.0" encoding="utf-8"?>
<settings version="5">
  <group name="KP Holland" sortingOrder="0" >
    <connection name="loketnl+sqlserver" authentication="Application">
      <database
       provider="LoketNlRest"
       order="10" 
       alias="lnl"        
       userLogonCodeMode="Hidden"
       passwordMode="Hidden"
       defaultUserLogonCode="XXXX"
       defaultPassword="XXXX"
       connectionString=""
      />
      <database 
       order="200" 
       alias="sqlserver" 
       provider="SqlServer" 
       userLogonCodeMode="Hidden" 
       passwordMode="Hidden" 
	   connectionString="Server=XXXXXX;Database=XXXXXX;User Id=XXXX;Password=XXXX;Encrypt=false" 
	   AllowConnectionStringRewrite="false" 
      />
    </connection>
  </group>
</settings>

De client ID en client secret kunnen via de connectionString ingesteld worden. Gebruik hierbij de waardes beschreven in SQL Driver Attributes for loket.nl (REST) API - Loket.nl REST API Data Model en kort samengevat hieronder:

Code Description Origin Default Value Set from Connection String Set from Set SQL-Statement Set from Drivers File Set from Log On
api-client-id The client ID is a unique identifier of your application. It is generated by registering an application. OData
api-client-secret The client secret is to be kept confidential. Such as a password for a logon code, the client secret is the confidential part of an app identified by a client ID. It is needed during the OAuth2 Code Grant Flow together with the refresh token to get access. OData

Een voorbeeld van een dergelijke connectionString is:

connectionString="api-client-id=XXX;api-client-secret=XXX"

Dank voor de informatie.

We kunnen nog steeds geen verbinding krijgen.

Waarschijnlijk omdat de connectionstring niet volledig is.

<database
provider="LoketNlRest"
order="10"
alias="lnl"
userLogonCodeMode="Hidden"
passwordMode="Hidden"
defaultUserLogonCode="XXXX"
defaultPassword="XXX2"
connectionString="api-client-id=XXX3api-client-secret=XXX4"
/>

Hebben jullie misschien een werkende connectionstring die geschikt is voor verbinding met Loket? We zijn vast niet de enige gebruiker van deze configuratie.

Hoe weet ik zeker dat ook daadwerkelijk dit xml-bestand gebruikt wordt voor de verbinding?

Welke melding treedt op (foutcode plus volledige tekst) bij gebruik van de aangepaste connectionString?

Hierbij de lijst met meldingen die we krijgen:

14:45:20.488 itgencmr456: Verbinden met loket.nl (REST) (alias lnl).
14:45:20.817 Fout itgenobr063: Er kan geen verbinding worden gemaakt met de database ACME\loketnl+sqlserver.
Can't determine the consent token for the requested OAuth login.
14:45:22.818 InvantiveSystemException
ValidationException
at Invantive.Basics.ValidationException..ctor(GlobalState owner, ExecutionOptions executionOptions, String messageCode, String errorMessage, String kindRequest, String localStackTrace, String nk, Exception innerException, Boolean inheritMessageCodeWhenPresent, Nullable`1 uid, Boolean isRecoverable, String poolIdentityId, String url)
at Invantive.Basics.InvantiveSystemException..ctor(GlobalState owner, ExecutionOptions executionOptions, String validationCode, String errorMessage, String kindRequest, String stackTrace, String nk, Exception innerException, Boolean inheritMessageCodeWhenPresent, Nullable`1 uid, Boolean isRecoverable, String poolIdentityId)
at Invantive.Data.OAuth.OAuth..., SerializableDatabase database, DataContainer dataContainer, Credentials credentials, List`1 triedProviders, Boolean ignoreDecryptionErrors, Boolean& decryptionErrorsOccurred)
at Invantive.Data.ConnectionManager.ET(GlobalState , ExecutionOptions , CredentialsContainer , Boolean , Boolean& )
at Invantive.Data.ConnectionManager.Open(GlobalState owner, ExecutionOptions executionOptions, CredentialsContainer credentialsContainer, Boolean ignoreDecryptionErrors, Boolean& decryptionErrorsOccurred)
at Invantive.Producer.UtilityBaseCore.OpenDatabase(GlobalState owner, ExecutionOptions executionOptions, String databaseFullName, CredentialsContainer credentialsContainer, Boolean ignoreDecryptionErrors, Boolean& decryptionErrorsOccurred)

Gelieve eenmalig via het Invantive Query Tool aan te melden om de consent flow te kunnen doorlopen.

Gerelateerd is Itgenobr063: Can't determine the consent token for the requested OAuth login.

Deze vraag is automatisch gesloten na tenminste 2 weken inactiviteit nadat een mogelijk passend antwoord is gegeven. Het laatste gegeven antwoord is gemarkeerd als oplossing.

Gelieve een nieuwe vraag te stellen via een apart topic als het probleem opnieuw optreedt. Gelieve in de nieuwe vraag een link naar dit topic op te nemen door de URL er van in de tekst te plakken.