Gå til hovedinnhold

FS GraphQL API og IntArk

Dersom du skal bruke FS GraphQL API via IntArk (Integrasjonsarkitekturen), må du sette opp Gravitee som API-gateway.

Om IntArk og Gravitee

IntArk er Sikts integrasjonsarkitektur for datadeling mellom systemer i universitets- og høyskolesektoren. Gravitee er API-gateway-løsningen som brukes i IntArk for å håndtere autentisering, autorisasjon og trafikkstyring.

For fullstendig dokumentasjon om IntArk og den tekniske plattformen, se dokumentasjonen på docs.sikt.no.

Konfigurasjon av Gravitee for FS GraphQL API

Når du setter opp Gravitee som API-gateway mot FS GraphQL API, må du ta hensyn til følgende:

Autentisering

FS GraphQL API bruker Basic Authentication. Du må konfigurere Gravitee til å sette Authorization-headeren med riktig brukernavn og passord.

Tilgangsstyring med flere brukere

I et REST API kan man styre tilgang per endepunkt i API-gatewayen. GraphQL har derimot kun ett endepunkt, så granulær tilgangsstyring må håndteres annerledes.

Vi anbefaler at du bestiller flere brukere med ulike tilgangsnivåer, og konfigurerer disse som separate endepunkter i Gravitee. For eksempel:

Gravitee-endepunktFS GraphQL-brukerTilgangsnivå
/fs/studentbruker-studentKun studentdata
/fs/studieprogrambruker-programKun studieprogramdata
/fs/adminbruker-adminUtvidet tilgang

På denne måten kan du i Gravitee styre hvilke konsumenter som får tilgang til hvilke endepunkter, selv om alle endepunktene peker til samme GraphQL API.

Se Tilgangsstyring med RAS for informasjon om tilgjengelige roller og tilgangsnivåer.

GraphQL-spesifikke hensyn

Siden GraphQL bruker POST-forespørsler til ett enkelt endepunkt, må du sørge for at Gravitee er konfigurert til å:

  • Tillate POST-forespørsler
  • Videresende hele request body uendret
  • Ikke cache responser (GraphQL-responser varierer basert på spørringen)

Videre lesning