Service Layer high complexity backend
3
Dependencies
2
Dependents
3
Entities
0
Integrations

Description

Backend service that abstracts the Vipps Login OAuth flow behind the same common authentication interface as BankID. In addition to standard authentication, it handles the optional return of the user's personnummer (national ID), encrypts it before storage, and forwards it to the organization's member system API to enrich member records that currently lack this data.

Feature: BankID & Vipps Authentication

vipps-integration-service

Responsibilities

  • Initiate Vipps Login OAuth authorization request and return redirect URL
  • Handle OAuth callback and exchange authorization code for access tokens
  • Extract and encrypt personnummer from Vipps userinfo response when present
  • Forward encrypted personnummer to organization member system API
  • Create or link user account and issue platform JWT

Interfaces

getAuthorizationUrl(state, nonce, scopes)
handleCallback(code, state)
getUserInfo(accessToken)
extractAndEncryptPersonnummer(userInfo)
forwardPersonnummerToMemberSystem(organizationId, encryptedNin)
createOrLinkUser(userInfo)
issueSessionToken(userId)
revokeSession(sessionId)

Relationships

Dependencies (3)

Components this component depends on

Dependents (2)

Components that depend on this component

Related Data Entities (3)

Data entities managed by this component