high complexity extracted Authentication & Access Control Confidence: 100%
3
Components
18
Shared
0
User Stories
Yes
Analyzed

Description

BankID Authentication provides Norwegian national eID login for Meander users, enabling first-time sign-in via the eID infrastructure trusted by all major Norwegian institutions. The feature handles the full OIDC redirect flow with BankID, validates identity assertions, and issues platform tokens via the Authentication Module. As a secondary benefit, BankID responses can return the national ID number (personnummer), enabling member record enrichment in organizations whose systems currently lack this identifier - a gap explicitly noted in the source documentation for multiple organizations.

Sources & reasoning

Line 42 names BankID as preferred by all four organizations but explicitly defers it to Fase 2 (second phase = v1.0). Line 347 lists it in the Fase 2 delivery scope. Line 42 also notes the personnummer return benefit, motivating inclusion as should_have rather than could_have.

Analysis

Business Value

All four organizations identified BankID as their preferred authentication method, describing it as the Norwegian digital identity standard that users already trust from banking and government services. Beyond convenience, BankID responses can return the personnummer, allowing organizations to enrich member records that currently lack this data - directly reducing administrative overhead for coordinators who manage membership data manually today. Adoption of BankID reduces support burden from forgotten passwords and aligns the platform with digital identity expectations across Norwegian voluntary organizations, supporting broader rollout and adoption goals.

Implementation Notes

Integration uses BankID's OpenID Connect / OAuth 2.0 provider with PKCE flow. The Authentication Module handles the redirect, receives the identity assertion, extracts claims including optional personnummer, and issues platform-native tokens. The module must remain provider-agnostic so the BankID provider can be swapped or extended without consumer API changes. Per-tenant configuration stores the BankID client credentials. Monthly SLA cost (350-750 NOK shared across organizations) requires a cost-sharing agreement before go-live. Flutter handles the deep-link callback on mobile; the admin portal uses standard HTTP redirect. Reuse the same token issuance pipeline as Vipps to avoid duplicating session management logic.

Quality Assurance

Peer Mentor (primary) · Coordinator (same flow)
1
Scenarios
6
UAT Steps
24
A11y Annotations
2
Role Boundaries
Peer Mentor

Peer Mentor

Quick UAT

  1. Åpne Meander-appen. Bekreft at pĂ„loggingsskjermen vises med knappen «Logg inn med BankID».
  2. Trykk «Logg inn med BankID». Bekreft at appen Äpner BankID OIDC-flyten i en sikker nettleservisning (custom tab / SafariVC).
  3. FullfĂžr BankID-verifisering med valgt metode (BankID-app, kodebrikke eller mobilBankID). Bekreft at appen mottar tilbakekallet og lukker nettleservisningen automatisk.
  4. Bekreft at en lasteskjerm vises kort mens plattformtokener utstedes og brukerens rolle lastes inn.
  5. Bekreft at hjemskjermen Äpnes med korrekt rolleinnhold (Likeperson-dashbord med aktivitets-snarveier og personlig statistikk).
  6. Logg ut og logg inn pÄ nytt med BankID. Bekreft at biometrisk opplÄsing (Face ID / fingeravtrykk) tilbys som alternativ ved andre innlogging.

Quick UAT — Accessibility

  1. Åpne Meander-appen. Bekreft at pĂ„loggingsskjermen vises med knappen «Logg inn med BankID».
    • Screen reader Skjermleser annonserer: «Logg inn med BankID, knapp». Appens navn annonseres ved oppstart.
    • Keyboard / focus Tab-rekkefĂžlge: app-logo (dekorativ, hoppes over) → e-post/passord-felt → BankID-knapp → Vipps-knapp.
    • Focus visibility Synlig fokusring pĂ„ BankID-knapp ved tastaturnavigasjon.
    • Touch target BankID-knapp ≄ 24×24 CSS px; anbefalt ≄ 48×48 px for primĂŠr handlingsknapp.
    • Contrast Knappetekst og ikon oppfyller 4.5:1 mot knappebakgrunn; BankID-logofarge er ikke eneste identifikator.
  2. Trykk «Logg inn med BankID». Bekreft at appen Äpner BankID OIDC-flyten i en sikker nettleservisning (custom tab / SafariVC).
    • Screen reader Skjermleser annonserer overskriften pĂ„ BankID-sidene (ekstern nettleser); fokus flyttes inn i nettleservisningen.
    • Keyboard / focus Custom tab / SafariVC er fullstendig tastaturnavigabel; Esc eller tilbakeknapp returnerer til appen.
    • Focus visibility Fokus flyttes til starten av BankID-innholdet nĂ„r nettleservisningen Ă„pnes.
    • Live region «Åpner BankID-innlogging» annonseres som polite live-region mens nettleservisningen lastes.
  3. FullfĂžr BankID-verifisering med valgt metode (BankID-app, kodebrikke eller mobilBankID). Bekreft at appen mottar tilbakekallet og lukker nettleservisningen automatisk.
    • Screen reader Fokus returneres til Meander-appen etter at nettleservisningen lukkes; skjermleser annonserer at autentisering pĂ„gĂ„r.
    • Keyboard / focus Ingen tastaturhandling kreves i appen under BankID-flyten; tilbakeknapp i nettleser er tilgjengelig for avbryt.
    • Live region NĂ„r callback mottas: «Autentisering fullfĂžrt, laster inn...» annonseres som polite live-region.
  4. Bekreft at en lasteskjerm vises kort mens plattformtokener utstedes og brukerens rolle lastes inn.
    • Screen reader Lastestatus annonseres: «Logger inn, vennligst vent.» Ingen stille timeout.
    • Focus visibility Spinner eller lasteskjerm hindrer ikke fokus fra Ă„ forbli i dokumentet.
    • Live region Lastestatus oppdateres som polite live-region; ved feil annonseres feilmelding umiddelbart (assertive).
    • Zoom Lasteskjerm er lesbar og sentrert ved 200 % zoom; tekst avklipper ikke.
  5. Bekreft at hjemskjermen Äpnes med korrekt rolleinnhold (Likeperson-dashbord med aktivitets-snarveier og personlig statistikk).
    • Screen reader Skjermleser annonserer sideoverskrift «Hjem» og fĂžrste fokusbare element (f.eks. «Registrer aktivitet, knapp»).
    • Keyboard / focus Tab-rekkefĂžlge fĂžlger visuell presentasjon; alle snarveier nĂ„s uten musepeker.
    • Focus visibility Fokus settes pĂ„ fĂžrste meningsbĂŠrende element etter innlogging, ikke pĂ„ bakgrunnsdekket.
    • Contrast Statistikk-kort og aktivitetsetiketter oppfyller 4.5:1; statusfarge brukes ikke som eneste indikator.
  6. Logg ut og logg inn pÄ nytt med BankID. Bekreft at biometrisk opplÄsing (Face ID / fingeravtrykk) tilbys som alternativ ved andre innlogging.
    • Screen reader «Logg inn med biometri, knapp» og «Logg inn med BankID, knapp» er begge annonsert; valg er tydelig.
    • Keyboard / focus Begge innloggingsalternativer nĂ„s med Tab; Enter aktiverer valgt knapp.
    • Focus visibility Fokus plasseres pĂ„ biometriknappen som primĂŠralternativ ved andre innlogging.
    • Touch target Biometri-knapp ≄ 24×24 CSS px.

Role Boundaries

2 role(s) must NOT access this feature
  • Global Administrator

    BankID-innlogging pÄ mobilappen gir tilgang til en «Ingen tilgang»-skjerm med instruksjon om Ä bruke Admin-portalen i stedet; deep-linking til mobile skjermer returnerer 403.

  • Prospective Organization Representative

    Rollen har ingen brukerkonto i plattformen; BankID-callback vil mislykkes med «Bruker ikke funnet»-feilmelding og tilgang gis ikke.

Expected End State

Brukeren er autentisert via BankID OIDC-flyten, har gyldige plattformtokener lagret i sikker plattformlager, og hjemskjermen med korrekt rollebasert innhold er synlig. Ved organisasjoner som mangler personnummer i medlemssystemet, er personnummer fra BankID-responsen videresendt for berikelse av medlemsdata.

User Stories

No user stories have been generated for this feature yet.