BankID & Vipps Authentication
Feature Detail
Description
This feature implements BankID and Vipps as primary authentication providers for initial user login, leveraging Norway's national identity infrastructure for strong verification. BankID provides verified Norwegian identity, while Vipps login can additionally return the user's national ID number (personnummer) back to the organization's member systems — a critical side-effect for organizations that currently lack this data for many members. After initial BankID or Vipps authentication, the user is linked to their organizational account and can use biometric login for subsequent sessions.
User Flow
Analysis
BankID and Vipps are the preferred authentication methods across all four partner organizations, providing legally binding identity verification that email/password cannot. Vipps login specifically unlocks a high-value side-effect: returning personnummer to member registries that currently lack it for a significant portion of their member base — this alone justifies the integration cost. Strong identity verification also supports the encrypted assignment dispatch feature (Blindeforbundet) where sensitive personal data is shared with verified peer mentors. The Vipps monthly cost (350–750 NOK) is shared across organizations, making it economically viable.
Integration uses the official BankID OIDC and Vipps Login APIs, launched via in-app browser (flutter_web_auth_2 or similar) with a custom URL scheme redirect. The backend (Next.js) handles the OAuth callback, validates the identity token, creates or links the user account, and issues a platform JWT. The BankID Integration Service and Vipps Integration Service are backend services that abstract the provider-specific flows behind a common interface. Personnummer returned by Vipps is encrypted before storage and forwarded to the organization's member system API. National ID handling must comply with GDPR and Norwegian Datatilsynet requirements.
Components (65)
Shared Components
These components are reused across multiple features
User Interface (16)
Service Layer (13)
Data Layer (9)
Infrastructure (20)
User Stories
No user stories have been generated for this feature yet.