Hopp over til hovedinnhold

Synkronisering av brukere til Learnifier via Offentlig API - Kunnskapsbase / API, SAML, integrasjoner og generelle innstillinger - Help Desk

Synkronisering av brukere til Learnifier via Offentlig API

Forfatterliste
  • Ester Andersson

Dette dokumentet beskriver en anbefalt måte å synkronisere brukere fra en kunde til Learnifier via Learnifier Public API.


  • Forutsetninger

  • Anbefalt algoritme

  • AutoClearEmail

  • Blanding av Learnifier-brukere med synkroniserte brukere


Forutsetninger


Kundens data betraktes som masterdata, det vil si at hvis en bruker finnes hos kunden, skal den opprettes i Learnifier, og hvis en Learnifier-bruker ikke finnes hos kunden, skal Learnifier-brukeren fjernes eller skjules.

Kunden leverer en unik ID som brukes til å identifisere en bruker. Denne ID-en kalles "external id" på Learnifier-siden. “External id” er en case-sensitiv string og består av alfanumeriske tegn.

Kunden må konfigurere API-autentisering via nøkler for å kunne få tilgang til Learnifier Public API. Se https://learnifier.com/api for mer informasjon. Nøklene må være Back Office-nøkler slik at nøkkelen har full tilgang til Learnifier.

Synkroniseringen gjøres over alle brukere i riket og ikke individuelle klienter.

Anbefalt algoritme


  • Hent alle Learnifier-brukere via GET /users. Sørg for å sjekke resultatet for å se om det er flere brukere tilgjengelige. Det kan være nødvendig å kalle GET /users flere ganger ved hjelp av “limit” and “offset”-parametere for å hente alle brukere.

  • Hent alle lokale brukere.

  • For hver lokal bruker:

    • Finn tilsvarende Learnifier-bruker (bruk external-id).

      • Hvis brukeren mangler:

        • Opprett brukeren via (POST /users).

        • Fjern Learnifier-brukeren fra den lokale listen.

        • Fortsett til neste bruker.

      • Fjern Learnifier-brukeren fra den lokale listen.

      • Sammenlign detaljene for lokal bruker med Learnifier-brukeren.

        • Hvis de er forskjellige, bruk PATCH /users/{userId} for å oppdatere Learnifier-brukeren. Bruk “autoClearEmail-flag” ved behov, se diskusjonen i avsnittet nedenfor.

      • For alle Learnifier-brukere som fortsatt er i den lokale listen:

        • Fjern (DELETE /users/{userId}) eller deaktiver/lås brukeren (PATCH /users/{userId} for å sette hardLock til true).

Hvis antallet brukere er stort, kan brukersynkroniseringen bruke betydelige systemressurser i Learnifier, så kjør dette bare periodisk, for eksempel en gang om dagen eller en gang i uken.



AutoClearEmail


Når en bruker oppdateres, kan flagget "autoClearEmail" brukes. E-postadressen (eller brukernavnet hvis e-postadressen ikke brukes) blir automatisk fjernet fra dupliserte brukere.

Dette forenkler algoritmen for brukersynkronisering ved endring av e-postadresse/brukernavn når e-postadressen/brukernavnet allerede er i bruk.

Hvis den ikke brukes, må algoritmen fjerne den dupliserte brukeren eller endre e-postadressen/brukernavnet før endringen gjøres, ellers vil operasjonen mislykkes.

Å bruke autoClearEmail kan resultere i Learnifier-brukere uten e-postadresse eller brukernavn. De vil fortsatt være tilgjengelige via API ved hjelp av ekstern id.


Blanding av Learnifier-brukere med synkroniserte brukere


Den ovennevnte beskrevne algoritmen tar ikke hensyn til en blanding av brukere som opprettes direkte i Learnifier og brukere som synkroniseres fra kunden. Et eksempel på dette kan være administratorer som opprettes direkte i Learnifier mens alle elever synkroniseres fra kunden.

En enkel måte å skille mellom de to kategoriene av brukere på er å sjekke om brukeren har en external id eller ikke. En bruker som opprettes direkte i Learnifier vil ikke ha en ekstern id. Endre algoritmen ovenfor for å ignorere brukere som ikke har en ekstern id.

Scroll Element