Vipps Integration Service
Component Detail
Service Layer
high complexity
backend
1
Dependencies
1
Dependents
2
Entities
0
Integrations
Description
Implements the Vipps Login API (OpenID Connect) provider on the Authentication Module backend. Exposes /auth/vipps/initiate and /auth/vipps/callback endpoints, manages PKCE state, extracts the sub claim as the Vipps user identifier, and optionally retrieves the national identity number when the nnin scope is granted. Delegates session issuance to Auth Service once identity is confirmed.
vipps-integration-service
Responsibilities
- Generate PKCE code verifier and state parameter for /auth/vipps/initiate
- Exchange authorization code for ID token via Vipps token endpoint
- Validate ID token signature and claims (iss, aud, exp, nonce)
- Extract sub claim as Vipps user ID and conditionally extract nnin
- Upsert user record and delegate to Auth Service for session issuance
Interfaces
initiate(): VippsAuthorizationUrl
handleCallback(code: String, state: String): AuthResult
exchangeCodeForTokens(code: String, verifier: String): VippsTokenSet
validateIdToken(idToken: String): VippsIdentityClaims
resolveOrCreateUser(claims: VippsIdentityClaims): User
Relationships
Related Data Entities (2)
Data entities managed by this component