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
-
Setup application client in Azure App Registration with App roles to use a web API
When a background service or a daemon process needs to call a protected Web API in Azure AD,…
-
Lift & Shift Existing Chrome Extension to Blazor WebAssembly #3 – Cross-Browser Compatibility
Justin Yoo’s Lift and Shift series on DevKimchi has already shown how a Chrome extension can be rebuilt…
-
Secure ASP.NET Core GRPC API hosted in a Linux kestrel Azure App Service
gRPC and Azure App Service do not talk to each other by default. App Service on Linux terminates…
-
Creating dotnet solution and project templates
If you have ever set up a new solution by copying an old project and manually renaming namespaces,…
-
Disable Azure AD user account using Microsoft Graph and an application client
When you automate user offboarding in Azure AD, you usually do not have a signed-in admin sitting around…
-
Lift & Shift Existing Chrome Extension to Blazor WebAssembly #2
In the first part of this series, I moved a plain JavaScript Chrome extension over to Blazor WebAssembly…
-
Taming Your .NET Twitter Bots With Rules
Khalid Abuhakmeh built two Twitter bots in C#: GuidGenie, which generates a unique GUID whenever someone mentions it,…
-
Invite external users to Azure AD using Microsoft Graph and ASP.NET Core
When you run an external identity system alongside Azure AD, sooner or later you need a bridge between…
-
Add Fido2 MFA to an OpenIddict identity provider using ASP.NET Core Identity
ASP.NET Core Identity ships with authenticator app and SMS based two factor authentication out of the box, but…