Nano ASP.NET SaaS Boilerplate
Admin credentials (all tenants): admin@email.com / Password123!
Sample data resets every hour

Version 2.1

Another major release! We're happy to announce the arrival of the Nano CLI tool. A vastly improved way of creating your new projects.

In previous releases, the download contained the complete solution with web API (spa) and razor pages all together. It had only one implementation of multi-tenancy: a multi-database approach. To rename the solution involved manually finding and replacing the application title.

Now with the Nano project template, you can create named solutions from the command line with customizable option parameters.

Nano (Project Template)

The Nano.Boilerplate NuGet package installs the Nano project template, which can be used to generate a complete solution from the command line. You can pass parameters for multi-tenancy and user interface option, along with a name to create a fully customized solution for your next project.

Nano Service & API Controller (Item Template)

The Nano.Boilerplate NuGet package also installs two item templates which can be used to generate a service or an API controller. It now takes one command to generate a fully featured service with the class, interface, CRUD methods, DTOs, filters, and supporting specifications. You can use it to instantly create API controllers as well.

Read more about using the CLI tool or installation in the documentation.

JWT Authentication with Refresh Tokens

The authentication flow for the Web API project has been improved. A new endpoint in the Tokens controller, along with new method from the Token service handles refresh token requests. This allows for greater security with short lived JWT tokens combined with long-expiry refresh tokens.

The Vue / React clients have also been updated to accommodate the refresh token capability. Upon receiving a 401 unauthorized response, Axios will now request a new JWT token using the refresh token stored within the client. The failed request will automatically be retried without any interruption to the user's interaction.

The guides covering these topics have been updated accordingly. Thanks everyone for building with the Nano boilerplate and stay tuned for more exciting features!