.NET client library for the Auth0
This library supports .NET Standard 2.0 and .NET Framework 4.5.2 as well as later versions of both.
This is for clients that are either flagged as OIDC Conformant (under the OAuth tab in the client Advanced settings) or if you are triggering the OIDC-conformant pipeline by using the
audience parameter when starting an authorization flow.
Generate a token for the API calls you wish to make (see Access Tokens for the Management API). Create an instance of the
ManagementApiClient class with the token and the API URL of your Auth0 instance:
var client = new ManagementApiClient("your token", new Uri("https://YOUR_AUTH0_DOMAIN/api/v2"));
The API calls are divided into groups which correlate to the Management API documentation. For example all Connection related methods can be found under the
ManagementApiClient.Connections property. So to get a list of all database (Auth0) connections, you can make the following API call:
To use the Authentication API, create a new instance of the
AuthenticationApiClient class, passing in the URL of your Auth0 instance, e.g.:
var client = new AuthenticationApiClient(new Uri("https://YOUR_AUTH0_DOMAIN"));
This library contains URL Builders which will assist you with constructing an authentication URL, but does not actually handle the authentication/authorization flow for you. It is suggested that you refer to the Quickstart tutorials for guidance on how to implement authentication for your specific platform.
Important note on state validation: If you choose to use the AuthorizationUrlBuilder to construct the authorization URL and implement a login flow callback yourself, it is important to generate and store a state value (using WithState) and validate it in your callback URL before exchanging the authorization code for the tokens.
This project can be built on Windows, Linux or macOS. Ensure you have the .NET Core SDK installed. You can also use the code editor of your choice or a full-blown IDE such as Visual Studio or Jetbrains Rider.
The full set of libraries can be built by running
dotnet restore followed by
dotnet build. You can run the unit tests individually by using the
dotnet test command (see docs).
Building for Release
Since this library also targets the full .NET Framework, you can currently only do a build for release on Windows.
- Ensure that you have updated the
Revisionversion numbers in
/build/common.propsfor the new version.
- Also update the
PackageReleaseNotesin the above-mentioned file with the release notes.
- Push these changes to a prepare-x.y.z branch for approval then merge
- Wait for CI to complete, download and extract the
- Upload the NuGet packages to NuGet using the
This project features extensive integration tests which unfortunately require specific server-side configuration and paid plan features in order to test the full functionality. As the management API side of things specifically provides functionality that could break the configuration we do not provide keys or testing against our integration tenants.
When reviewing external pull requests we manually run the integration tests against your PR to ensure they pass and the CI server will run them once merged.
If you have found a bug or if you have a feature request, please report them at this repository's issues section. Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.
This project is licensed under the MIT license. See the LICENSE file for more info.