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

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

BankID & Vipps Authentication user flow
Click to expand

Analysis

Business Value

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.

Implementation Notes

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)

User Interface (2)

Service Layer (3)

Infrastructure (2)

Shared Components

These components are reused across multiple features

Infrastructure (20)

User Stories

No user stories have been generated for this feature yet.