Published: March 11 2022

.NET 6.0 - Send an Email via SMTP with MailKit

This is a quick example of how to send an email in .NET 6.0 using the MailKit email client library.
Published: February 26 2022

.NET 6.0 - Boilerplate API Tutorial with Email Sign Up, Verification, Authentication & Forgot Password

How to build a boilerplate .NET 6.0 API that supports email sign up, verification, authentication, role based access control, forgot password, reset password and account management (CRUD) functionality.
Published: February 18 2022

.NET 6.0 - Role Based Authorization Tutorial with Example API

How to build an API with role based authorization / access control in .NET 6.0 & C#. Includes example client apps built with Angular, React and Vue.
Published: February 04 2022

.NET 6.0 - Minimal API Tutorial and Example

A step by step tutorial on how to build a minimal .NET 6.0 API from scratch with a couple of example endpoints/routes, with details on every line of code and configuration to show how it all fits together.
Published: February 01 2022

.NET 6.0 - Execute EF Database Migrations from Code on Startup

This is a super quick example of how to automatically migrate database changes on startup from code in .NET 6.0 using Entity Framework in the Program.cs file.
Published: January 31 2022

.NET 6.0 - Database Migrations to Different DB Per Environment (SQLite in Dev, SQL Server in Prod)

An example of how to setup a .NET 6.0 project with Entity Framework Migrations that supports multiple different database providers.
Published: January 24 2022
Last updated: February 20 2023

.NET 6.0 - JWT Authentication with Refresh Tokens Tutorial with Example API

How to implement JWT authentication with Refresh Tokens in a .NET 6.0 API. Includes example client app built with Angular.
Published: January 19 2022

.NET 6.0 - Create and Validate JWT Tokens + Use Custom JWT Middleware

This is a quick example of how to create and validate JWT tokens in .NET 6.0. We'll also cover how to implement custom JWT authentication using custom JWT middleware and a custom authorize attribute.
Published: January 17 2022

.NET 6.0 - Global Error Handler Tutorial with Example

This is a quick post to show how to implement a global exception handler in .NET 6.0
Published: January 16 2022

.NET 6.0 - Hash and Verify Passwords with BCrypt

This is a quick example of how to hash and verify passwords in .NET 6.0 using the BCrypt.Net-Next password hashing library, a C# implementation of the bcrypt password hashing function.
Supported by