Using the OAuth 2.0 device flow to authenticate users in desktop apps
Explains how to use the OAuth 2.0 device authorization grant for secure user authentication in desktop applications.
Thomas Levesque is a French software developer and long-time .NET expert with 20 years of experience, specializing in C#, ASP.NET Core, and open-source development. He is a core maintainer of FakeItEasy and a former Microsoft MVP.
109 articles from this blog
Explains how to use the OAuth 2.0 device authorization grant for secure user authentication in desktop applications.
Explains how to fix circular dependencies in .NET Core by using lazy service resolution with IServiceProvider.
Explains how to handle query string parameters without values in ASP.NET Core by creating a custom model binder for boolean parameters.
Extends ASP.NET Core's environment-based configuration by introducing 'sub-environments' for granular, scenario-specific settings overrides.
A guide to automating C# unit tests for null argument validation using C# 8's nullable reference types metadata.
A quick C# tip showing how to use an extension method to get the current index inside a foreach loop, combining the benefits of foreach and for.
Explains how to implement custom JSON converters in .NET to handle type hierarchies when serializing/deserializing data for Cosmos DB.
Explains how to handle C# type hierarchies and inheritance when serializing/deserializing objects with the Cosmos DB .NET SDK and JSON.NET.
A guide to writing Azure Cosmos DB stored procedures in TypeScript using async/await by wrapping the callback-based JavaScript API.
Explains how to scale ASP.NET Core SignalR applications using Azure Service Bus as a cheaper alternative to Redis or Azure SignalR Service.
Guide to fixing Google authentication in ASP.NET Core after Google+ API shutdown, using OpenID Connect as a replacement.
How to properly validate Azure AD tokens in a multitenant ASP.NET Core app using a custom issuer validator.
Guide to creating a WPF application using the lightweight SDK-style project format with the MSBuildSdkExtras extension.
Explains a better approach for asynchronous initialization in ASP.NET Core apps, moving it from middleware to the Program.Main method.
A guide to implementing custom model binders in ASP.NET Core to handle multipart requests containing both JSON data and file uploads.
A guide to implementing asynchronous initialization in ASP.NET Core using custom middleware, addressing scoped service limitations.
A tutorial on deploying and hosting an ASP.NET Core 2 web application on a Raspberry Pi, including setup and nginx reverse proxy configuration.
A guide to creating a GitHub webhook using Azure Functions to prevent merging pull requests with unsquashed fixup commits.
Explains the ASP.NET Core middleware pipeline, how it processes requests and responses, and how to configure it using Use and Run methods.
A technical guide on using Git's filter-branch command to clean up a repository's history by removing unwanted files like bin/ and obj/ directories.