HelseID.Library 1.1.3

Prefix Reserved
dotnet add package HelseID.Library --version 1.1.3
                    
NuGet\Install-Package HelseID.Library -Version 1.1.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HelseID.Library" Version="1.1.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HelseID.Library" Version="1.1.3" />
                    
Directory.Packages.props
<PackageReference Include="HelseID.Library" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add HelseID.Library --version 1.1.3
                    
#r "nuget: HelseID.Library, 1.1.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package HelseID.Library@1.1.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=HelseID.Library&version=1.1.3
                    
Install as a Cake Addin
#tool nuget:?package=HelseID.Library&version=1.1.3
                    
Install as a Cake Tool

HelseId.Library

The easiest way to integrate with HelseID! This library conforms to the requirements from the HelseID security profile for the client credentials grant (also known as machine-to-machine).

To get started with HelseID

See the docs on https://selvbetjening.nhn.no/docs

How to use the library:

You start by installing the NuGet package HelseID.Library.ClientCredentials.

The simplest setting is where the configuration is hard-coded:

// This comes from the .NET Generic Host (https://learn.microsoft.com/en-us/dotnet/core/extensions/generic-host?tabs=appbuilder)

HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
    
var helseIdConfiguration = new HelseIdConfiguration
{
    ClientId = "7e3816ca-7d11-41cd-be55-fb9e8954e058",
    Scope = "nhn:hgd-persontjenesten-api/restricted-access nhn:selvbetjening/client",
    IssuerUri = "https://helseid-sts.test.nhn.no",
};

builder.Services
    .AddHelseIdClientCredentials(helseIdConfiguration)
    .AddJwkForClientAuthentication(YOUR_PRIVATE_KEY_HERE);

var host = builder.Build();
host.Run();
// The service is now configured

Later on you will need to use an instance of the IHelseIdClientCredentialsFlow to retrieve an Access token response:

// This is constructed by the service locator
IHelseIdClientCredentialsFlow helseIdClientCredentialsFlow;

...

var tokenResponse = await helseIdClientCredentialsFlow.GetTokenResponseAsync();

// If the token response is successful, you will get an AccessTokenResponse object:
if (tokenResponse.IsSuccessful(out var accessTokenResponse))
{
    ...
}
else
{
    // If the token response failed, you can inspect the error response from the TokenErrorResponse object:
    var errorResponse = tokenResponse.AsError();
    Console.WriteLine(errorResponse.Error + " " + errorResponse.ErrorDescription);
    ...
}

If you have a multi-tenant client, you will probably need to setup organization numbers; see the document Performing token requests for this scenario.

To retrieve a DPoP Proof you can use the IDPoPProofCreatorForApiRequests:

...
// This is constructed by the service locator
IDPoPProofCreatorForApiRequests dPoPProofCreator;

var url = "URL TO THE HTTP ENDPOINT";
var dPoPProof = await dPoPProofCreator.CreateDPoPProofForApiRequest(HttpMethod.Get, url, accessTokenResponse);
...

Finally, to make a request to an API you can do the following: using our SetDPoPTokenAndProof extension method to set both Access Token and DPoP proof on the HTTP request:

...
var apiRequest = new HttpRequestMessage(HttpMethod.Get, url);
apiRequest.SetDPoPTokenAndProof(accessTokenResponse, dPoPProof);

var response = await httpClient.SendAsync(apiRequest);
...

Read more here:

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on HelseID.Library:

Package Downloads
HelseID.Library.ClientCredentials

This package implements the Client Credentials flow in HelseID

HelseID.Library.MachineToMachine

This package implements the machine-to-machine flow in HelseID

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.3 4,301 3/17/2026
1.1.2 1,843 1/22/2026
1.1.1 1,478 1/14/2026
1.1.0 287 1/8/2026
1.0.0 1,182 11/12/2025
0.9.4 905 11/5/2025
0.9.3 319 11/3/2025
0.9.2 227 10/31/2025
0.9.1 339 10/27/2025
0.9.0 257 10/22/2025
0.1.14 890 10/8/2025
0.1.13 496 10/2/2025
0.1.12 241 9/26/2025
0.1.11 897 7/3/2025
0.1.10 218 7/2/2025
0.1.9 257 7/2/2025
0.1.8-alpha 163 6/27/2025
0.1.7-alpha 192 6/27/2025
0.1.6-alpha 212 6/25/2025
0.1.5-alpha 208 6/17/2025