Sist endret: 4. nov. 2025

Access Token

Altinn bruker et ekstra access token når vi må autentisere applikasjoner eller kalle andre komponenter i Altinn-plattformen.

AccessToken klient

.NET-applikasjoner bruker AccessToken-klienten når de skal kalle beskyttede API-er i Altinn-plattformen.

AccessToken-klienten har en token-generator
som genererer et JWT basert på et unikt sertifikat tilgjengeliggjort i Kubernetes-klyngene.

Eksempler på bruk

Konfigurasjon

For å bruke AccessToken-klienten må du legge til følgende i Program.cs:

    // The Access Token service
    services.AddSingleton<IAccessTokenGenerator, AccessTokenGenerator>();
    // The Signing credential resolver that finds the correct certificate on disk
    services.AddTransient<ISigningCredentialsResolver, SigningCredentialsResolver>();

Example from Altinn Events

AccessToken

Plattformkomponentene bruker AccessToken for å beskytte API mot uautorisert bruk.

De benytter en AltinnTokenValidator for å verifisere at en spesialheader inneholder et bearer-token.

Sertifikatet som brukes til validering hentes fra KeyVault via SigningKeyResolver.

Hver plattformklynge og app-klynge har sitt eget sertifikat.

Konfigurasjon av AccessToken

Legg til følgende i Program.cs for å ta i bruk AccessToken:

    // The handler to validate token
    services.AddSingleton<IAuthorizationHandler, AccessTokenHandler>();
    // The resolver to get the certificate from KeyVault
    services.AddSingleton<ISigningKeysResolver, SigningKeysResolver>();

      services.AddAuthorization(options =>
    {
        // The policy to be used by API controllers
        options.AddPolicy("PlatformAccess", policy => policy.Requirements.Add(new AccessTokenRequirement()));
    });

Example from register

API-utvikleren kan konfigurere policyen for hvert endepunkt eller controller.

    [Authorize]
    [Authorize(Policy = "PlatformAccess")]
    [Route("register/api/v1/parties")]
    public class PartiesController : Controller

Eksempel fra Register