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

Description

Enables users to authenticate using Vipps Login, the Norwegian mobile payment app's identity service. Like BankID, Vipps is a widely adopted Norwegian digital identity solution and was requested by all three partner organisations as an alternative first-time authentication path. The flow uses Vipps's OAuth 2.0 Login API to authenticate the user, retrieve profile data including phone number and optionally personnummer, and link the identity to the user's Meander account. Vipps is particularly accessible to younger and less tech-savvy users who already use it daily.

User Flow

Vipps Authentication user flow
Click to expand

Analysis

Business Value

Vipps Login addresses a different demographic than BankID — users who are more comfortable with their Vipps app than traditional bank authentication. Offering both BankID and Vipps maximises coverage across all age groups and digital skill levels. Like BankID, Vipps can return the personnummer, filling the member system data gap. The Vipps brand is strongly associated with trust and ease of use in Norway, and its presence on the login screen signals that Meander is a modern, Norway-first platform. Monthly subscription cost (350–750 NOK) to be shared between partner organisations as agreed.

Implementation Notes

Uses the Vipps Login OAuth 2.0 API, which follows the OIDC standard. The Flutter client triggers the Vipps app via a deep link (Vipps handles the authentication natively), then returns control to Meander via a registered redirect URI using app_links or flutter_web_auth. The backend exchanges the code for tokens, extracts phone number and optional personnummer from the ID token claims, and performs the same account-linking logic as BankID. The Vipps provider adapter shares the same interface as the BankID adapter for consistency. Test environment (Vipps MT) available for integration testing. Separate Vipps merchant agreement required.

Components (112)

User Interface (2)

Service Layer (2)

Infrastructure (2)

Shared Components

These components are reused across multiple features

Service Layer (34)

Data Layer (22)

Infrastructure (38)

infrastructure Keychain/Keystore Adapter low Shared infrastructure JWT Claims Extractor low Shared infrastructure Organization Labels Adapter low Shared infrastructure Keychain/Keystore Adapter low Shared infrastructure Auth API Client medium Shared infrastructure REST API Client medium Shared infrastructure WCAG Accessibility Adapter low Shared infrastructure Registration API Client low Shared infrastructure Accounting API Client high Shared infrastructure PDF Renderer Adapter medium Shared infrastructure File Share Adapter low Shared infrastructure FCM/APNs Adapter high Shared infrastructure Share Sheet Adapter low Shared infrastructure Share Plus Adapter low Shared infrastructure Platform Accessibility Bridge medium Shared infrastructure Semantics Override Adapter high Shared infrastructure URL Launcher Adapter low Shared infrastructure Markdown Content Renderer low Shared infrastructure Network Connectivity Monitor low Shared infrastructure Expense Receipt Storage Adapter low Shared infrastructure Audit Log Writer low Shared infrastructure Feature Flag Checker low Shared infrastructure Logo Upload Adapter low Shared infrastructure Terminology Constants Registry low Shared infrastructure Feature Flag Cache Adapter low Shared infrastructure Org Scope JWT Resolver medium Shared infrastructure Association Audit Logger low Shared infrastructure Token Blocklist medium Shared infrastructure Analytics Tracker low Shared infrastructure SEO Metadata Config low Shared infrastructure Analytics Tracker low Shared infrastructure Analytics Tracker low Shared infrastructure Sales Analytics Tracker low Shared infrastructure Email Provider Adapter low Shared infrastructure Terms of Service Content Provider low Shared infrastructure Legal PDF Asset Provider low Shared infrastructure Consent-Gated Script Loader low Shared infrastructure Legal Page Layout low Shared

User Stories

No user stories have been generated for this feature yet.