Itgenoey005 We can't seem to find your account

Bij het interactief aanmelden vanuit een batchbestand werkt Data Hub v24.0.180 multi-platform op Windows met een nieuwe Exact Online-abonnement wel:

C:\Program Files (x86)\Invantive Software BV\Invantive Data Hub 24.0 MP>d:\jobs\batch\acme-exact-online-load.bat

*** Invantive Data Hub Multi-Platform (24.0.180-PROD+4773) on 08-05-2024 09:34:10 (UTC) ***

(C) Copyright 2004-2024 Invantive Software BV, the Netherlands. All rights reserved.

09:34:12.165 itgendhb023: SQL Script File: d:\jobs\sql\acme-exact-online-load.sql
09:34:12.169 itgendhb029: Log File: d:\jobs\log\acme-exact-online-load-202405.log
09:34:12.170 itgendhb066: License Contract Code: L123123123
09:34:12.172 itgendhb076: License Key ID: 123123123123
09:34:12.174 itgendhb067: Licensee: ACME
09:34:12.177 itgendhb070: Licensor: Invantive B.V.
09:34:12.179 itgendhb033: OS Log On Code: serveradmin
09:34:12.182 itgendhb034: Machine: SERVER
09:34:12.183 itgendhb276: IIID: 131dd018-9ad4-40ff-b9c7-94de6da04951
09:34:12.185 itgendhb275: Session ID: A847F992DFD309700F34E201045EAE33
09:34:12.186 itgendhb035: Current Directory: C:\Program Files (x86)\Invantive Software BV\Invantive Data Hub 24.0 MP
09:34:12.188 itgendhb073: Product Installation Configuration File: C:\Users\serveradmin\Invantive\Prd\Invantive Data Hub Multi-Platform\Inst\Data Hub Multi-Platform\product-installation-user.settings
09:34:12.189 itgendhb074: Product Configuration File: C:\Users\serveradmin\Invantive\Prd\Invantive Data Hub Multi-Platform\product-user.settings
09:34:12.193 itgendhb075: Global Configuration File: C:\Users\serveradmin\Invantive\user.settings
09:34:12.194 itgendhb227: User Name: John Doe (X)
09:34:12.195 itgendhb228: User Email Address: john.doe@acme.com
09:34:12.195 itgendhb229: User Phone Number: 123123123

09:34:12.277 *** Connect ***

09:34:12.299 Question itgenlom010: Use database 'ACME\Mammoet'? Question? [Y/n]
y
09:34:16.019 itgenlom042: Database defined in the file 'C:\Users\serveradmin\Invantive\settings-acme.xml'.
09:34:16.022 itgenlom043: Database definition file was last modified on 08-05-2024 09:27:30 (UTC).
09:34:16.174
09:34:16.176 *** Configuration of alias 'eol: Exact Online': The Exact Online driver offers over 1.000 tables grouped over a range of XML APIs, REST APIs and some special APIs. ***
09:34:16.336 Question itgenlom031: Configure advanced properties? Question? [Y/n]
n
09:34:17.534
09:34:17.535 *** Configuration of alias 'eol2: Exact Online': The Exact Online driver offers over 1.000 tables grouped over a range of XML APIs, REST APIs and some special APIs. ***
09:34:17.592 Question itgenlom030: Use credentials from Invantive Keychain for log on code 'john.doe@acme.com'? Question? [Y/n/a (All)/o (None)]
y
09:34:28.923 Question itgenlom031: Configure advanced properties? Question? [Y/n]
n
09:34:31.969
09:34:31.970 *** No configuration needed for alias 'sql: SQL Server': Microsoft SQL Server is a traditional database platform. SQL Server supports ANSI SQL. It is available both as a cloud database on Microsoft Azure as a traditional database running on-premise or hosted. ***
09:34:32.003 Question itgenlom045: Use credentials from Invantive Keychain? Question? [Y/n/a (All)/o (None)]
y
09:34:35.955 itgenlom015: Logging on.
09:34:36.043 itgencmr138: Opened service data container 'OAuthHeadless'.
09:34:36.056 itgencmr138: Opened service data container 'Invantive.Producer'.
09:34:36.059 itgencmr138: Opened service data container 'TeamViewer'.
09:34:36.062 itgencmr138: Opened service data container 'KeePass'.
09:34:36.075 itgencmr138: Opened service data container 'Mail'.
09:34:36.077 itgencmr138: Opened service data container 'Ossus'.
09:34:36.080 itgencmr138: Opened service data container 'Os'.
09:34:36.090 itgencmr138: Opened service data container 'InMemoryStorage'.
09:34:36.091 itgencmr138: Opened service data container 'DataDictionary'.
09:34:36.092 itgencmr138: Opened service data container 'LastResort'.
09:34:36.108 itgencmr456: Connecting to Exact Online (alias eol).
09:34:36.149 itgencmr456: Connecting to Exact Online (alias eol2).
09:34:36.152 itgencmr456: Connecting to SQL Server (alias sql).
09:34:36.155 itgengpr065: Opening data container 'eol'.
09:34:36.180 itgengpr152: Opened data container 'eol'.
09:34:36.180 itgengpr065: Opening data container 'sql'.
09:34:36.246 itgengpr065: Opening data container 'eol'.
09:34:36.273 itgengpr152: Opened data container 'eol'.
09:34:36.275 itgengpr065: Opening data container 'eol'.
09:34:36.282 itgengpr152: Opened data container 'eol'.
09:34:37.917 itgengpr152: Opened data container 'sql'.
09:34:38.314 itgencmr463: Status report. (Connected using last known OAuth access token., eol, ExactOnlineAll, 2.177 ms)
09:34:40.616 itgenobr300: Provide TOTP verification code. (eol2, ExactOnlineAll)
09:34:41.731 itgencmr128: Got OAuth access token using headless interactive control. (eol2) (5.521 ms)
09:34:41.738 itgengpr065: Opening data container 'eol2'.
09:34:42.010 itgenoda719: Got OAuth access token using authorization code retrieved from OAuth Code Grant Flow through credentials. (eol2) (228 ms)
09:34:42.020 itgengpr152: Opened data container 'eol2'.
09:34:42.067 itgengpr065: Opening data container 'eol2'.
09:34:42.072 itgengpr152: Opened data container 'eol2'.
09:34:42.074 itgengpr065: Opening data container 'eol2'.
09:34:42.075 itgengpr152: Opened data container 'eol2'.
09:34:42.474 itgencmr130: Opened database 'ACME: ACME - Mammoet'.
09:34:42.493 itgendhb205: Connect.
09:34:42.504 itgendhb206: Check compatibility.
09:34:42.513 itgendhb207: Check license.
09:34:42.521 itgendhb208: Configure user.
09:34:42.537 itgenuty650: Loading user information.
09:34:42.584 itgenuty652: Loading user preferences.
09:34:42.589 itgenuty654: Loading privileges.
09:34:42.686 itgencmr128: Successfully connected to ACME: ACME - Mammoet.
09:34:42.837 itgenlom016: Connected! Connecting took 6.881 ms.
09:34:42.841 itgenlom035: Invantive UniversalSQL 24.0.180.4772 database.
09:34:42.854 itgenlom037: Active Data Containers, sorted by handling order

maar als ik hetzelfde batchbestand niet-interactief draai (dus met /interactive:false) krijg ik consistent een itgenoey005:

09:37:32.113 itgengpr152: Opened data container 'eol2'.
09:37:32.122 itgengpr065: Opening data container 'eol2'.
09:37:32.124 itgengpr152: Opened data container 'eol2'.
09:37:33.485 Error itgenoey005: A connection to the database ACME\Mammoet could not be established.

We can't seem to find your account.
09:37:35.506 Invantive.Basics.InvantiveSqlException
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, Nullable`1 partyUid, String partitionCode, String tableName)
   at Invantive.Basics.InvantiveSqlException..ctor(GlobalState owner, ExecutionOptions executionOptions, String validationCode, String errorMessage, String kindRequest, String stackTrace, String nk, Exception innerException, Boolean inheritMessageCodeWhenPresent, Nullable`1 uid, Boolean...vantive.Data.ConnectionManager.B(GlobalState, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, CredentialsContainer, Boolean, Boolean& )
   at Invantive.Data.ConnectionManager.a(GlobalState owner, ExecutionOptions, SqlExecutionStep, 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)
Exception during boot: Invantive.Basics.ValidationException: itgendhb005: Could not connect to database 'ACME\Mammoet'. Application will be closed.
   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, Nullable`1 partyUid, String partitionCode, String tableName)
   at Invantive.Producer.Data.Hub.QueryEngine.Run(GlobalState owner, ExecutionOptions executionOptions, String[] arguments)
   at Invantive.Producer.Data.Hub.Program.Main(String[] args)
   at Invantive.Producer.Data.Hub.QueryEngine.Run(GlobalState owner, ExecutionOptions executionOptions, String[] arguments) in c:\smoke\ws-24.0\Invantive.Data.Hub\src\Invantive.Producer.Data.Hub\QueryEngine.cs:line 573.
09:37:35.586 Error itgendhb005: Could not connect to database 'ACME\Mammoet'. Application will be closed.
09:37:35.614 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, Nullable`1 partyUid, String partitionCode, String tableName)
   at Invantive.Producer.Data.Hub.QueryEngine.Run(GlobalState owner, ExecutionOptions executionOptions, String[] arguments)
   at Invantive.Producer.Data.Hub.Program.Main(String[] args)
   at Invantive.Producer.Data.Hub.QueryEngine.Run(GlobalState owner, ExecutionOptions executionOptions, String[] arguments) in c:\smoke\ws-24.0\Invantive.Data.Hub\src\Invantive.Producer.Data.Hub\QueryEngine.cs:line 573
**** 09:37:35.621 Error itgenube182: itgendhb005: Could not connect to database 'ACME\Mammoet'. Application will be closed.

Ik krijg deze foutmelding zowel met een Exact Online-gebruiker die niet op One Exact Identity zit, als een gebruiker die wel op One Exact Identity zit.

Ik heb dezelfde setup ook geprobeerd via Data Hub release 22.0.584. Onder 22.0.584 lukt het aanmelden interactief wel. Onder 22.0.584 lukt het NIET-interactief ook niet, maar de foutmelding is anders, namelijk Can't determine the CSRF token for the requested Exact Online OAuth login.:

09:44:29.204 Error itgenobr113: A connection to the database ACME\Mammoet could not be established.

Can't determine the CSRF token for the requested Exact Online OAuth login.
09:44:31.223 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.JI(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)

Na een aantal extra pogingen werkt het vreemd opeens genoeg wel.

Het lijkt er op dat de gebruikers Windows Server 2016 niet betrouwbaar in staat is te communiceren met Azure B2C dat door Exact Online voor One Exact Identity gebruikt wordt.

Volgens TLS and cipher suite requirements - Azure AD B2C | Microsoft Learn moet tenminste een van de volgende ciphers er zijn:

  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

en die zouden er kunnen zijn. Echter, volgens powershell - Windows Server 2016 Cipher Suites not working - Stack Overflow lijken die standaard er wel te zijn, maar niet of niet betrouwbaar herkend of gebruikt te worden.

Uiteindelijk is beter om Windows Server 2016 uit te faseren; deze release is sinds januari 2022 uit de support gelopen bij Microsoft.