Skip to content

Commit 9863800

Browse files
committed
dec 19
1 parent 9eed109 commit 9863800

File tree

3 files changed

+1329
-1
lines changed

3 files changed

+1329
-1
lines changed

src/routes/(pages)/blog/posts/adventskalender-2024/+page.md

+64
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,70 @@ La oss gjøre adventstiden mer nais med en Nais adventskalender! Her vil vi hver
1111

1212
---
1313

14+
<img class="number" src="./images/nittende.svg" alt="">
15+
16+
## 19. desember
17+
18+
Tenk om julenissen ikke visste noe om hvem som hadde skrevet ønskelistene?
19+
20+
Autentisering av både mennesker og maskiner er en viktig del av mange applikasjoner. Ofte involverer det bruk av OAuth og JWT, men som utvikler er det ikke alltid like lett å holde tunga rett i munnen når man navigerer dette landskapet.
21+
22+
Derfor har vi laget Texas (kort for token exchange as a service). Denne abstraherer vekk detaljene bak et enkelt API slik at det blir lekende lett å lage sikre applikasjoner.
23+
24+
Som konsument er det å få tak i et token så enkelt som å gjøre en HTTP POST med et par parametere. Her illustrert med `curl`:
25+
26+
```shell
27+
curl $NAIS_TOKEN_ENDPOINT \
28+
-X POST \
29+
-d 'identity_provider=maskinporten' \
30+
-d 'target=krr:global/kontaktinformasjon.read'
31+
```
32+
33+
eller for å bytte inn et token med brukerkontekst for et nytt token:
34+
35+
```shell
36+
curl $NAIS_TOKEN_EXCHANGE_ENDPOINT \
37+
-X POST \
38+
-d 'identity_provider=tokenx' \
39+
-d 'target=<cluster>:<namespace>:<target-app>' \
40+
-d 'user_token=eyJra...'
41+
```
42+
43+
Som mottaker er det tilsvarende like enkelt å validere et token:
44+
45+
```shell
46+
curl $NAIS_TOKEN_INTROSPECTION_ENDPOINT \
47+
-X POST \
48+
-d 'identity_provider=tokenx' \
49+
-d 'token=eyJra...'
50+
```
51+
52+
og her får du også returnert claimene fra tokenet, ferdig dekodet:
53+
54+
```json
55+
{
56+
"active": true,
57+
"exp": 1730980893,
58+
"iat": 1730977293,
59+
...
60+
}
61+
```
62+
63+
Texas er en byggekloss som gir mange fordeler:
64+
65+
- agnostisk til programmeringsspråk og rammeverk (gitt at det kan snakke HTTP)
66+
- innebygget best practices — caching av tokens og validering av det viktigste
67+
- ingen kodeavhengigheter — du slipper å dra inn ekstern kode som må gjennomgås og holdes ved like, i tillegg til å redusere antall kilder for sårbarheter (som vi så på i luke 8)
68+
- ingen hemmeligheter — du slipper å forholde deg til hemmeligheter i applikasjonskode (som vi så litt på i luke 9 om 12-faktor-apps)
69+
70+
Texas er foreløpig i beta for et utvalg identity providere.
71+
72+
Les mer i dokumentasjonen: https://doc.nais.io/auth/explanations/#texas
73+
74+
<img class="illustration" src="./images/advent-pakker-2.svg" alt="">
75+
76+
---
77+
1478
<img class="number" src="./images/attende.svg" alt="">
1579

1680
## 18. desember

0 commit comments

Comments
 (0)