Automatisk autentisering på Fortnox med 2FA

Fortnox har ulike strategier for 2FA, inkludert én som bruker SMS-koder ved hver innlogging.

Bruk av bruker, passord og SMS for 2FA i «lights-out»-miljøer med Data Hub er av design ikke gjennomførbart. Det finnes ingen person til stede som kan lese og taste inn en SMS-kode.

Følgende alternativer er tilgjengelige:

  • refresh token (fornyingstoken);
  • via Invantive Cloud på OData (kun lesing);
  • via Invantive Cloud på UniversalSQL Server (lesing og skriving).

Refresh token hentet via Invantive Cloud forhåndsautentisering

Det første alternativet som dukker opp, er å bruke forhåndsautentisering (pre-authentication) på Invantive Cloud for å få et fornyingstoken (refresh token) til senere lokal henting av såkalte «access tokens». Dette fornyingstokenet kan inkluderes i databaseinnstillingene slik:

  • Gå til Invantive Cloud.
  • Gå til Setup-menyen.
  • Gå til Pre-authenticate.
  • Gå til Pre-authenticate for on-premises use.
  • Velg Fortnox.
  • Angi klientinformasjon som vist (sett inn din egen klient-ID, klienthemmelighet og redirect-URI):
  • Velg «Get Authorization Code».
  • Logg på Fortnox.
  • Velg selskap.
  • Kopier hele den resulterende URL-en til utklippstavlen.
  • Lim inn URL-en i det fortsatt åpne Pre-authenticatie-vinduet:
  • Velg «Complete Preauthentication».
  • Neste side viser i ulike formater informasjonen for en datacontainer basert på Fortnox, som bruker et fornyingstoken i stedet for brukernavn og passord:
  • Inkluder disse i databasen din ved hjelp av settings*.xml

Det er uklart om dette tokenet fortsatt vil være aktivt selv ved konsekvent bruk etter 45 dager. Tilbakemeldinger er velkomne!

Via Invantive Cloud med OData (kun lesing)

Som et alternativ kan du registrere en Fortnox-database på Invantive Cloud:

Pass på at den eksterne IP-adressen til Data Hub-serveren er hvitelistet på databasen i feltet «Bridge Client IP Address List», eller bruk «*» som vist i bildet.

Test innstillingene ved hjelp av Invantive Bridge Online-driveren i gruppen Various, som vist:

For eksempel med Bridge Online-spørringen:

select *
from   [Accounts@fnx]

Bruk deretter Bridge URL-segmentet med Invantive Bridge Online-driveren i en ny datacontainer i databasen din settings*.xml, slik som:

  <database
   order="30"
   alias="fortnox"
   provider="InvantiveBridgeOnline"
   userLogonCodeMode="Hidden"
   passwordMode="Hidden"
   defaultUserLogonCode="john.doe@acme.eu"
   defaultPassword="secret"
   connectionString="server=https://bridge-online.invantive.com;database=acme-fortnox"
  />

Erstatt verdien til defaultUserLogonCode og defaultPassword med en Invantive Cloud-bruker og -passord.

OData-protokollen tillater kun lesing av data.

Via Invantive Cloud med SQL Server (BETA fra oktober 2025) for lesing og skriving

Som et alternativ kan du registrere en Fortnox-database på Invantive Cloud:

Pass på at den eksterne IP-adressen til Data Hub-serveren er hvitelistet på databasen i feltet «Bridge Client IP Address List», eller bruk «*» som vist i bildet.

Bruk deretter vertsnavnet gitt av Invantive UniversalSQL Server som «SQL Server-compatible Server Name (BETA)» i en ny datacontainer i databasen din settings*.xml, slik som:

  <database
   order="30"
   alias="fortnox"
   provider="SqlServer"
   userLogonCodeMode="Hidden"
   passwordMode="Hidden"
   connectionString="Data Source=acme-fortnox.database.invantive.com;UID=john.doe@acme.com;PWD=secret"
   AllowConnectionStringRewrite="false"
  />

Erstatt verdien til UID og PWD med en Invantive Cloud-bruker og -passord.

Invantive UniversalSQL Server-protokollen tillater både lesing og skriving, men kan kreve omdøping av enkelte objektnavn, siden alle fire nivåer av et navn i Invantive UniversalSQL noen ganger må tilordnes til den tre-nivås navnemodellen i Microsoft SQL Server.

Eksempel

Følgende eksempel viser alle tre tilnærmingene kombinert i én database med tre datacontainere på innloggingsskjermen:

Spørringen som brukes er:

select 'OData'
,      *
from   Accounts@fnx_uss
where  number = 1010
union all
select 'UniversalSQL Server'
,      *
from   [Accounts@fnx]@fnx_odata
where  number = 1010
union all
select 'Local'
,      *
from   Accounts@fnx_local
where  number = 1010

med tre identiske resultater:

Vennligst merk at fornyingstokenet kun brukes fra og med andre innlogging.

Fremtid

I en fremtidig versjon kan Invantive tilby tokenhenting fra Invantive Cloud, mens all dataveksling fortsatt kan foregå på klienten som kjører de lokale (on-premises) verktøyene.

En melding er flyttet til et nytt emne: Display more data container context