Altinn / Altinn/altinn-platform-validation-tests

Automatisk nøkkelrotasjon for Maskinporten i test - K6 og AM Frontend/Playwright

Open
#417 0 comments 0 reactions 0 assignees View on GitHub
kind/feature-request
Dominant language
JavaScript
Stars
2
Forks
1
Avg merge
1d 3h
Merged PRs (30d)
124

Description

En nøkkel på en Maskinporten-klient lever maks ett år fra den ble postet. Når den utløper slutter alle tester som bruker `MaskinportenAccessTokenGenerator` å få token, og ingenting varsler oss før det skjer. Et nytt POST av det samme nøkkelsettet nullstiller klokka, uten endring i privatnøkkel, `kid`, Key Vault-secret eller tester.

Konkret i TT02, mot klienten bak `313175650-maskinporten-client`:

- Skaffe admin-klient med `idporten:dcr.modify`. Scopet kan ikke ligge sammen med testscopene, så det blir en egen klient (servicedesk@digdir.no).
- Poste nøkkelsettet på nytt til `POST https://api.test.samarbeid.digdir.no/clients/{client_id}/jwks` manuelt én gang, og verifisere med `K6/api/tests/sanity-checks/token-generators.js`. POST erstatter hele settet, så alle nøkler klienten skal beholde må sendes med.
- Sette opp en scheduled workflow som gjør det samme periodisk, med samme federated Azure-innlogging som de andre workflowene.
- La jobben også fornye admin-klientens egen nøkkel, som har samme ettårsgrense.
- Feile i sanity-check-testen når utløpsdatoen nærmer seg, slik at en jobb som slutter å kjøre ikke går upåaktet hen.

[Selvbetjening via API](https://docs.digdir.no/docs/Maskinporten/maskinporten_sjolvbetjening_api.html)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with K6/api/tests/sanity-checks/token-generators.js and the existing workflows that use federated Azure login. Verify the TT02 Maskinporten client and admin-client JWKS POST flow against the documented API, then confirm that the scheduled renewal runs periodically and the sanity check fails before key expiry.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, github-actions, javascript
Domain
api, authentication, ci-cd, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.