Announcing: Securing ASP.NET Core 2 with OAuth2 and OpenID Connect Course Published at Pluralsight


A while ago I created a Pluralsight course focused on securing ASP.NET Core with OAuth2 and OpenID Connect.  That one was built using ASP.NET Core 1.1.  I got a lot questions asking for a new course that would focus on ASP.NET Core 2, as quite a bit changed in regards to authentication/authorization between Core 1… Read more »

Solving Correlation Failed: State Property Not Found Errors (OpenID Connect Middleware / ASP.NET Core)


Recently we ran into an issue at one of my clients when integrating an ASP.NET Core application with an IDP using the OpenID Connect middleware.  When running the application locally everything worked as expected: the middleware takes care of most of the hard work as far as generating the calls the authorization & token endpoints,… Read more »

Techorama Session: OpenID Connect in Depth Code and Slides


I just finished my Techorama session on OpenID Connect in Depth.  It covered subjects like single sign-on and single sign-out, when to use reference tokens & how to revoke tokens, how to create a custom grant to let a user’s identity flow from API to API without having to create “one access token to rule… Read more »

Announcing: Building Business Applications with Angular and ASP.NET Core course at Pluralsight


I’m very happy to announce that my latest Pluralsight course, Building Business Applications with Angular and ASP.NET Core, went live. I a lot of fun creating this one!:-)  It’s aimed at those of you who already know a thing or two about Angular and ASP.NET Core – so it’s not a beginner course.  It only… Read more »

Figuring out Why Your Access Token is Invalid (OWIN/Katana)


I was doing some consultancy work for a client today and had to integrate with an IDP to secure an API.  Somehow however, the access tokens provided by the IDP couldn’t be validated.  For access token validation I by default use IdentityServer’s AccessTokenValidation middleware as it adds some nifty features to MS’s JWT Bearer Authentication… Read more »

Techorama 2018 Session: OpenID Connect in Depth


I’m happy to announce I’ll again be speaking at Techorama, Belgium’s biggest IT conference, this year.  My session is named OpenID Connect in Depth: a level 400 session on OIDC, covering the less than obvious stuff.  Here’s what to expect: You’ve used OpenID Connect.  You know a thing or two about OAuth.  But have you… Read more »

Marvin.JsonPatch 2.1.0 Released


I just pushed a new Marvin.JsonPatch release to NuGet.  This release includes the long-awaited implementation of the Test operation.  The inclusion of that now makes this implementation feature-complete! Next to this new functionality, the release also contains the usual bug fixes – have a look at the GitHub milestone for more information. If you want… Read more »

Marvin.JsonPatch 2.0.0 Released


A new major release of Marvin.JsonPatch has just been published (2.0.0).  This new release adds support for dictionaries  – many thanks to MartyZhou for the PR!  Moreover, thanks to the backport from Microsoft.AspNetCore.JsonPatch (which started out as a port of Marvin.JsonPatch + Marvin.JsonPatch.Dynamic), a lot of features and stability improvements that were added over the… Read more »

ASP.NET Core 2.0 Update: Building a RESTful API with ASP.NET Core


As some of you might have noticed, ASP.NET Core 2.0 was recently released 😉  I’ve been gradually updating my ASP.NET Core Pluralsight courses to 2.0, and today I’m happy to announce that my Building a RESTful API with ASP.NET Core course has been updated.  It offers an in-depth look at REST (more than 8 hours!),… Read more »

Marvin.Cache.Headers 1.1 Released


I just pushed a new version of Marvin.Cache.Headers to NuGet, version 1.1.  Marvin.Cache.Headers is ASP.NET Core middleware that adds HttpCache headers to responses (Cache-Control, Expires, ETag, Last-Modified), and implements cache expiration & validation models.  It’s useful when you’re working with concurrency or caching.  Most notable in this update is that it’s now fully compatible with… Read more »