You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
0 commit comments