ViThor.Auth
0.1.0
See the version list below for details.
dotnet add package ViThor.Auth --version 0.1.0
NuGet\Install-Package ViThor.Auth -Version 0.1.0
<PackageReference Include="ViThor.Auth" Version="0.1.0" />
paket add ViThor.Auth --version 0.1.0
#r "nuget: ViThor.Auth, 0.1.0"
// Install ViThor.Auth as a Cake Addin #addin nuget:?package=ViThor.Auth&version=0.1.0 // Install ViThor.Auth as a Cake Tool #tool nuget:?package=ViThor.Auth&version=0.1.0
ViThor.Auth
A small package that adds Authentication and Authorization layer, based on Json Web Token (JWT), in your dotnet application.
Ready-made endpoints are available for:
- User Registration
- Login (get token)
- Token Validation
- Refresh Token
An email submission and validation service is also now available in this library.
Installation
Install the package from NuGet:
dotnet add package ViThor.Auth
Usage
Authentication
It is necessary to create a class that inherits from UserBase:
public class User : UserBase
{
}
Next, you need to create a class that implements the IUserService interface. Add to dependency injection from the Program.cs
class:
builder.Services.AddScoped<IUserService<User>, UserService>();
The remaining settings and services are built by running:
builder.BuildViThorSettings();
The parameterization of these services is done in appsettings:
{
"JwtConfig": {
"Secret": "This is my custom Secret key for authnetication",
"Issuer": "http://localhost:5000",
"Audience": "http://localhost:5000",
"ExpirationType": "Minutes",
"Expiration": 1,
"ValidateIssuerSigningKey": true,
"ValidateLifetime": true,
"ValidateIssuer": false,
"ValidateAudience": false,
"RequireHttpsMetadata": false,
"SaveToken": false
}
}
The email service configuration must also be done in appsettings:
{
"BaseAddress": "http://localhost:5000",
"SmtpConfig": {
"Enabled": false,
"Host": "smtp.gmail.com",
"Port": 587,
"UserName": "user@gmail.com",
"Password": "password-here",
"From": "user@gmail.com"
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. 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. |
-
net7.0
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 7.0.1)
- Microsoft.Extensions.Configuration (>= 7.0.0)
- Swashbuckle.AspNetCore (>= 6.4.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.