Phoesion.DevJwt.CLI
0.1.5
Prefix Reserved
See the version list below for details.
dotnet tool install --global Phoesion.DevJwt.CLI --version 0.1.5
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local Phoesion.DevJwt.CLI --version 0.1.5
#tool dotnet:?package=Phoesion.DevJwt.CLI&version=0.1.5
nuke :add-package Phoesion.DevJwt.CLI --version 0.1.5
Phoesion.DevJwt
Library and dotnet-tool for developing and testing web api services with JWT authorization. Create custom tokens that can be used localy, without an external authority.
How to use in your service
dotnet add package Phoesion.DevJwt
- Enable dev-jwt on your JWT authorization services
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(o => o.UseDevJwt(builder.Environment));
- Configure in
appsetting.Development.json
"Authentication": {
"Schemes": {
"Bearer": {
"ValidAudience": "myApi",
"ValidIssuer": "phoesion.devjwt"
}
}
}
Generate a jwt
- Install the dotnet tool
dotnet tool install --global phoesion.devjwt.cli
- Generate token using
dotnet devjwt create myApi --email user@mail.com --sub 42
You can now use the token for your requests.
General Information
The UseDevJwt()
extension configures an ISecurityTokenValidator
that validates the token.
Using the HostingEnvironment
, it checks that the handler is only added for Development
and Testing
environments.
Samples
The repository contains the following samples projects in the Samples
folder :
- SampleWebApi : an ASP.Net core web api application
- SampleGlowMicroservice : a Phoesion Glow microservice
- TokenGeneratorSample : a console application that demononstrates how to generate token programmatically
custom Signing Keys
By default, the generator and validator use a well known predefined key for signing the token. This way you don't need to care about where/how the token was generated it will pass validation, which is fine since it's for local development and testing.
You can however generate/validate tokens using a custom key like so :
- In the tool specify a key to be used for signing the token using the
--signkey
parameter :
dotnet devjwt create myApi --email user@mail.com --sub 42 --signkey thiskeyisverylargetobreak
-In the service authentication setup, provide the key to the UseDevJwt()
function
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(o => o.UseDevJwt(builder.Environment, "thiskeyisverylargetobreak"));
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. |
This package has no dependencies.