Every Great Product Has a Stack. Every Stack Has a Story.
Deep dives into AI, Azure, cloud architecture, distributed systems, and engineering decisions.
Get new posts by email
Topics
Latest posts
-
Understanding your middleware pipeline in .NET 6 with the Middleware Analysis package
Every ASP.NET Core request travels through a middleware pipeline, and most of us only think about the pieces…
-
Improving logging performance with source generators: Exploring .NET 6 – Part 8
ILogger is the logging abstraction most ASP.NET Core code reaches for without a second thought, and for the…
-
Force MFA in Blazor using Azure AD and Continuous Access
If you are building software that gets deployed into other people’s Azure AD tenants, you cannot assume every…
-
Efficient OAuth Authorisation Management in Azure API Management
An auth key stored in Key Vault is a simple problem to solve, fetch it, use it, done.…
-
Using multiple Azure B2C user flows from ASP.NET Core
Azure AD B2C applications usually get wired up with a single combined sign-up-or-sign-in user flow, and that covers…
-
Using ASP.NET Core MVC Value Providers With Minimal APIs
Minimal APIs in ASP.NET Core deliberately strip away a lot of what MVC controllers give you for free,…
-
Use a gateway service for a software UI with micro services architecture?
A question that comes up on almost every microservices project sooner or later is whether the UI should…
-
Implement an OpenIddict identity provider using ASP.NET Core Identity with Keycloak federation
Not every organization wants to hand its identity story entirely to a cloud vendor, and not every organization…
-
Implement Azure AD Continuous Access in an ASP.NET Core Razor Page app using a Web API
Regular conditional access in Azure AD is evaluated at sign-in time. A user authenticates, the policy runs, a…