All Projects → auth0 → Auth0.net

auth0 / Auth0.net

Licence: mit
.NET client for the Auth0 Authentication & Management APIs.

Projects that are alternatives of or similar to Auth0.net

Node Oidc Provider
OpenID Certified™ OAuth 2.0 Authorization Server implementation for Node.js
Stars: ✭ 2,018 (+909%)
Mutual labels:  oauth2, openid-connect
Myoidc
基于OIDC协议的参考实现,根据各类库提供实现参考
Stars: ✭ 132 (-34%)
Mutual labels:  oauth2, openid-connect
Hydra
OpenID Certified™ OpenID Connect and OAuth Provider written in Go - cloud native, security-first, open source API security for your infrastructure. SDKs for any language. Compatible with MITREid.
Stars: ✭ 11,884 (+5842%)
Mutual labels:  oauth2, openid-connect
External Auth Server
easy auth for reverse proxies
Stars: ✭ 189 (-5.5%)
Mutual labels:  oauth2, openid-connect
Oidc.example
OIDC (OpenID Connect) Example for http://openid.net/connect/
Stars: ✭ 190 (-5%)
Mutual labels:  oauth2, openid-connect
Identitybase
IdentityBase is a Universal Identity Platform for web, mobile and IoT built on top of IdentityServer.
Stars: ✭ 112 (-44%)
Mutual labels:  oauth2, openid-connect
Django Auth Adfs
A Django authentication backend for Microsoft ADFS and AzureAD
Stars: ✭ 127 (-36.5%)
Mutual labels:  oauth2, openid-connect
Cierge
🗝️ Passwordless OIDC authentication done right
Stars: ✭ 1,245 (+522.5%)
Mutual labels:  oauth2, openid-connect
Identitymodel.oidcclient.samples
Stars: ✭ 159 (-20.5%)
Mutual labels:  oauth2, openid-connect
Identityserver4 Example
Example IdentityServer 4 Implementation
Stars: ✭ 136 (-32%)
Mutual labels:  oauth2, openid-connect
Zitadel
ZITADEL - Cloud Native Identity and Access Management
Stars: ✭ 105 (-47.5%)
Mutual labels:  oauth2, openid-connect
Oathkeeper
A cloud native Identity & Access Proxy / API (IAP) and Access Control Decision API that authenticates, authorizes, and mutates incoming HTTP(s) requests. Inspired by the BeyondCorp / Zero Trust white paper. Written in Go.
Stars: ✭ 2,442 (+1121%)
Mutual labels:  oauth2, openid-connect
Nginx Openid Connect
Reference implementation of OpenID Connect integration for NGINX Plus
Stars: ✭ 96 (-52%)
Mutual labels:  oauth2, openid-connect
Fosite
Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.
Stars: ✭ 1,738 (+769%)
Mutual labels:  oauth2, openid-connect
Reactive Spring Security 5 Workshop
Hands-On workshop for securing a reactive spring boot 2 application in multiple steps
Stars: ✭ 92 (-54%)
Mutual labels:  oauth2, openid-connect
Assent
Multi-provider framework in Elixir
Stars: ✭ 126 (-37%)
Mutual labels:  oauth2, openid-connect
Appauth Ios
iOS and macOS SDK for communicating with OAuth 2.0 and OpenID Connect providers.
Stars: ✭ 1,069 (+434.5%)
Mutual labels:  oauth2, openid-connect
Login Cidadao
Projeto Login Cidadão
Stars: ✭ 61 (-69.5%)
Mutual labels:  oauth2, openid-connect
Appauth Android
Android client SDK for communicating with OAuth 2.0 and OpenID Connect providers.
Stars: ✭ 1,922 (+861%)
Mutual labels:  oauth2, openid-connect
Nginx Sso
SSO authentication provider for the auth_request nginx module
Stars: ✭ 195 (-2.5%)
Mutual labels:  oauth2, openid-connect

.NET client library for the Auth0

Build status NuGet version FOSSA Status

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.

Management API

Full Documentation

See the full documentation on how to use this library.

Installation

Install-Package Auth0.ManagementApi

Usage

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:

await client.Connections.GetAllAsync("auth0");

Authentication API

Installation

Install-Package Auth0.AuthenticationApi

Usage

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"));

Authentication

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.

Building

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.

  1. Run npm run release [version] (e.g. npm run release 7.3.0)
  2. Push these changes to a prepare-x.y.z branch for approval then merge
  3. Wait for CI to complete, download and extract the Auth0.Net.Packages.zip
  4. Upload the NuGet packages to NuGet using the nuget push command.

Testing

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.

Issue Reporting

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.

Author

Auth0

License

This project is licensed under the MIT license. See the LICENSE file for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].