dapla-auth-client
dapla-auth-client er et Python-bibliotek for å autentisere brukere på Dapla Lab mot tjenester på NAIS. Bibliotekets returnerer et JWT-token (med varighet på en time) som blant annet inneholder hvilke tilgangsgrupper brukeren er medlem av.
Forberedelser
Biblioteket kan benyttes i tjenester på Dapla Lab der Python er installert. Den kan installeres med følgende kommando i et ssb-project:
Terminal
poetry add dapla-auth-client
Funksjonalitet
Biblioteket er ment for å støtte autentisering mot NAIS fra Dapla Lab. I tillegg kan brukere hente ut informasjon om hvilke tilgangsgrupper brukeren er medlem av fra tokenet.
Hente ut token
For å hente ut et JWT-token med varighet på en time kan brukeren skrive følgende:
Notebook
from dapla_auth_client import AuthClient
AuthClient.fetch_personal_token()
Koden over returnerer et JWT-token med informasjon om hvilken tilgangsgruppe brukeren representerer i tjenesten.
Liste ut tilgangsgrupper
Man kan også dekode tokenet og liste ut alle tilgangsgrupper brukeren er medlem av. I koden under brukes Python-biblioteket PyJWT til å dekode tokenet:
Notebook
from dapla_auth_client import AuthClient
= AuthClient.fetch_personal_token(["all_groups", "current_group"])
token = jwt.decode(token, options={"verify_signature": False})
decoded print(decoded)
Output vil da være på denne formen:
{
"dapla.group": "team-a-developers",
"dapla.groups": [
"team-a-data-admins",
"team-a-developers",
"team-b-developers"
],
"exp": 1750687898,
"iat": 1750684298,
"iss": "https://labid.lab.dapla-external.ssb.no",
"scope": "all_groups,current_group",
"sub": "ini"
}