AuthEndpoints 1.4.7
See the version list below for details.
dotnet add package AuthEndpoints --version 1.4.7
NuGet\Install-Package AuthEndpoints -Version 1.4.7
<PackageReference Include="AuthEndpoints" Version="1.4.7" />
paket add AuthEndpoints --version 1.4.7
#r "nuget: AuthEndpoints, 1.4.7"
// Install AuthEndpoints as a Cake Addin #addin nuget:?package=AuthEndpoints&version=1.4.7 // Install AuthEndpoints as a Cake Tool #tool nuget:?package=AuthEndpoints&version=1.4.7
AuthEndpoints
A simple jwt authentication library for ASP.Net 6. AuthEndpoints library provides a set of Web API controllers and minimal api endpoints to handle basic web & JWT authentication actions such as registration, email verification, reset password, create jwt, etc. It works with custom identity user model. AuthEndpoints is built with the aim of increasing developer productivity.
Features
- Supported endpoints:
- sign-up
- sign-in (create jwt)
- email verification
- refresh jwt
- verify jwt
- user profile (retrieving)
- reset password
- change password
- enable 2fa & login 2fa (via email)
- JWT support
- Works with a symmetric key (shared secret) or asymmetric keys (the private key of a private–public pair).
- Works with custom identity user
Current limitations
- Only works with IdentityUser or custom identity user
- No session based auth support
- 2fa via email
Installing via NuGet
The easiest way to install AuthEndpoints is via NuGet
Install the library using the following .net cli command:
dotnet add package AuthEndpoints
or in Visual Studio's Package Manager Console, enter the following command:
Install-Package AuthEndpoints
Quick start
Edit Program.cs, then add the required services:
builder.Services.AddAuthorization();
builder.Services.AddDbContext<MyDbContext>(options => { });
builder.Services.AddIdentityCore<MyCustomIdentityUser>()
.AddEntityFrameworkStores<MyDbContext>()
.AddDefaultTokenProviders();
then add auth endpoints services and enable jwt bearer authentication
builder.Services
.AddAuthEndpoints<string, MyCustomIdentityUser>() // Use the default and minimum config
.AddJwtBearerAuthScheme();
Map endpoints using the controller
public class MyBaseAuthController : BasicAuthenticationController<string, MyCustomIdentityUser>
{}
public class MyJwtController : JwtController<string, MyCustomIdentityUser>
{}
public class MyTwoFactorController : TwoStepVerificationController<string, MyCustomIdentityUser>
{}
or
Map endpoints using the minimal api
Install AuthEndpoints.MinimalApi
package, then edit Program.cs:
builder.Services
.AddAuthEndpoints<string, MyCustomIdentityUser>()
.AddAllEndpointDefinitions() // add basic auth, jwt, 2fa endpoints
.AddJwtBearerAuthScheme();
var app = builder.Build();
...
app.UseAuthentication();
app.UseAuthorization();
...
app.MapAuthEndpoints(); // Map minimal api endpoints
app.Run();
Checkout docs for more info.
Documentations
Documentation is available at https://madeyoga.github.io/AuthEndpoints/ and in docs directory.
Contributing
Your contributions are always welcome! simply send a pull request! The up-for-grabs label is a great place to start. If you find a flaw, please open an issue or a PR and let's sort things out.
The documentation is far from perfect so every bit of help is more than welcome.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
-
net6.0
- AuthEndpoints.Core (>= 1.4.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
2.2.0 | 1,104 | 9/24/2022 | |
2.1.1 | 984 | 9/9/2022 | |
2.1.0 | 1,015 | 9/9/2022 | |
2.0.2 | 1,023 | 9/3/2022 | |
2.0.1 | 949 | 8/31/2022 | |
2.0.0 | 1,010 | 8/22/2022 | |
1.7.0 | 1,021 | 8/10/2022 | |
1.6.0 | 1,007 | 8/8/2022 | |
1.5.0 | 957 | 8/2/2022 | |
1.4.9 | 1,028 | 7/30/2022 | |
1.4.8 | 1,002 | 7/27/2022 | |
1.4.7 | 1,109 | 7/17/2022 | |
1.4.6 | 992 | 6/25/2022 | |
1.4.5 | 1,000 | 6/20/2022 | |
1.4.4 | 1,012 | 6/18/2022 | |
1.4.3 | 975 | 6/16/2022 | |
1.4.2 | 1,062 | 6/14/2022 | |
1.4.1 | 1,027 | 6/11/2022 | |
1.4.0 | 1,074 | 6/6/2022 | |
1.3.0 | 1,002 | 6/2/2022 | |
1.2.0 | 1,003 | 5/30/2022 | |
1.1.0 | 1,009 | 5/26/2022 | |
1.0.1 | 980 | 5/25/2022 | |
1.0.0 | 1,012 | 5/24/2022 |
Using core 1.4.3