Anbefalte klientbiblioteker for bruk mot HelseID

Sikkerhetsprofilen til HelseID krever at du implementerer FAPI 2.0-profilen i tillegg til å oppfylle våre egne funksjonelle krav. Det kan derfor være vanskelig å finne et klientbibliotek som kan brukes siden mange ikke oppfyller kravene.

Denne listen er basert på vår egen erfaring samt tilbakemeldinger fra leverandørene som bruker HelseID. Du kan velge å bruke andre biblioteker dersom de passer bedre i din applikasjon, men vi tillater ikke produksjonssetting av applikasjoner der du har implementert OAuth2- eller OpenID Connect-protokollene selv.

.NET

Duende.IdentityModel og deres utvidelse for Access Token Management:
https://docs.duendesoftware.com/identitymodel/ https://docs.duendesoftware.com/accesstokenmanagement/

For klienter som bare gjør innlogging anbefaler vi Microsofts innebygde mellomvare i ASP.NET Core:
https://learn.microsoft.com/en-us/aspnet/core/security/authentication/configure-oidc-web-authentication?view=aspnetcore-9.0

For API-er anbefaler vi Duende.AspNetCore.Authentication.JwtBearer:
https://docs.duendesoftware.com/identityserver/apis/aspnetcore/confirmation#validating-dpop

Java

Nimbus OAuth 2.0 SDK with OpenID Connect extensions:
https://connect2id.com/products/nimbus-oauth-openid-connect-sdk

For API-er anbefaler vi Nimbus JOSE + JWT:
https://connect2id.com/products/nimbus-jose-jwt

PHP

chillerlan/php-oauth er aktivt vedlikeholdt, men støtter ikke DPoP:
https://packagist.org/packages/chillerlan/php-oauth

League/oauth2-client er et alternativ, her må du legge til støtte for PAR og DPoP selv:
https://oauth2-client.thephpleague.com/

Javascript (Node.js og andre kjøretidsmiljøer):

openid-client:
https://github.com/panva/openid-client
Merk at HelseID ikke tillater applikasjoner som bare kjører i nettleseren uten en backend.

GO

For API-er anbefaler vi golang-jwt sammen med go-dpop:
https://github.com/golang-jwt/jwt/
https://github.com/AxisCommunications/go-dpop