Authenticate Using Vipps
The Vipps authentication screen initiates the Vipps Login OAuth flow. The app calls the Vipps API client to get an authorization URL, opens it (or deep links into the Vipps app), and waits for the callback. Upon successful Vipps Login, the app receives an access token and optionally the user's personnummer if the required Vipps scope was requested. The personnummer retrieval is a key business benefit — many organizations in the partner group are missing this for active members. A confirmation widget asks the user to acknowledge that their personnummer will be shared if applicable.
User Story
Acceptance Criteria
- Given I have selected Vipps on the auth method selector, When the Vipps screen loads, Then the Vipps API client initiates a login session and opens the Vipps app or authorization URL
- Given the Vipps login flow is in progress in the Vipps app, When I approve the login request, Then the deep link handler receives the Vipps callback and returns me to the peer mentor app
- Given Vipps login succeeds and personnummer is available in the response, When the identity is received, Then the personnummer confirmation widget is displayed asking for acknowledgment before storing
- Given I confirm personnummer sharing, When the data is saved, Then it is stored securely and linked to my organization member record
- Given the Vipps login fails or I cancel, When the error is returned, Then I see a descriptive error and can retry or choose BankID instead
- Given the Vipps cost configuration is set for my organization, When I authenticate, Then any per-login cost tracking is applied per the org-level Vipps config
Business Value
Vipps has approximately 4.2 million users in Norway and is one of the most recognized mobile apps in the country. Vipps Login eliminates the need for the user to create yet another username and password, reducing onboarding friction significantly. The killer feature for the partner organizations is that Vipps Login can return the user's personnummer — this single capability solves a persistent data quality problem across all three organizations without any manual data collection.
Components
- Vipps Authentication Screen ui
- Vipps Authentication Service service
- Vipps API Client infrastructure
- Deep Link / OAuth Redirect Handler infrastructure
- Personnummer Confirmation Widget ui
- Authentication Session Manager service
- User Identity Repository data
- Auth Token Store data
- Secure Storage Adapter infrastructure
- Vipps Organization Cost Configuration infrastructure