Shawn Wildermuth

Author, Teacher, and Filmmaker
.NET Foundation Board Member

The Blog

My Rants and Raves about technology, programming, everything else...

Handling Token Authentication in Vue 3

VueSo many of the Vue demos I've seen fail to look at the authentication use case. For some of my course demos I've had to dig into it.

I thought this might be a good place to share what I've learned as well as get my audience to code review what I'm doing. Thanks for the help!

If you want to follow along, feel free to grab the complete example:


Playing with Vuelidate Alpha with Vue 3

vuelidate Vuelidate is reworking their project in light of Vue 3's release. It is only in Alpha, but I like the approach and integrated it into my Microservice demo I'm working on.

In light of this, I thought I'd talk about how Vuelidate is now working with the Composition API. While it is still early in development, I love the approach.

For this example, i'll point you to my Payment view in my Microservice project (a work in progress):


Hosting Vue in ASP.NET Core: A Different Take

CalipersIn the several years that I've been developing and teaching Vue, I've tried a lot of different ways to make ASP.NET Core and Vue play nice with each other. One of the strategies that I've seen employed (especially with Angular and React) is the Spa Framework Extensions out of Microsoft. Because Vue didn't work out of the box (or have a template) I dismissed this approach for a long time. Now that the platform has matured and there is an open source extension for Vue,

I thought I'd revisit it. Though I still think it's not exactly the right approach. Let's see why.

Originally, I thought the fix was to just deal with it separately. That meant opening it in VS Code or just using the command-line to run the project. I wanted something more integrated and I think I found a solution I don't mind.


The Maintainers: Dennis Doomen and FluentAssertions

Dennis DoomenIn this series, I'll be interviewing Open Source Maintainers and talk about what open source means to them and why they do it. This time I talk to Dennis Doomen of FluentAssertions.

He shares with us the ups and downs of maintaining a long project and why he got into open source to begin with. Don't forget to subscribe if you like the series, we have got another five episodes coming!

This episode:


The Maintainers: Nicholas Blumhardt, Autofac and Serilog

Nicolas Blumhardt Last week I released a new episode of my "The Maintainers" video series. This time I talk with Nicholas Blumhardt of Autofac and Serilog fame.

His experience developing these libraries to explore new ideas is an interesting take. The video also talks about how he helps manage projects with so many sub-projects (e.g. Serilog's support for so many syncs).

I hope you enjoy it!


Vue 3: To Vuex or Not to Vuex

VueI've been digging into Vue 3 a lot lately. One topic that a lot of people seem to be discussing whether to use Vuex or not in Vue's Composition API (that is prominent in Vue 3).

After looking and prototyping some of these options, I wanted to share my opinions. In this post, I'll review different strategies (including Vuex) and talk about the pros and the cons of each.

I started out with a simple Vue app, fresh from the Vue CLI. It's using Vuex and the Router via Vue 3 (RC 9 at the time of writing of this post). You can find the project on Github if you want to play with it:


Vue 3 and Validation with the Class-Validator

ValidationI've been working with Vue 3 Beta and RC (currently in RC5) and early on I needed some validation but the Vue stalwards of vuelidate and vee-validate weren't working with the Composition API early on. What was I do to?

After some searching I ran into class-validator library. It got me thinking about how to separate the validation from the UI like I usually do in the server.

I thought I'd run you though a little example. If you want to take a look at the project, I have an example on GitHub with tags for before and after:


The Maintainers: Shaun Walker and DotNetNuke

The Maintainers The next episode is now available! This time I'm talking to Shaun Walker. He's the developer responsible for the long-lived open source project, DotNetNuke! He's also created a new framework called Oqtane for Blazor.

He's been in the Microsoft-Open Source space for longer than almost anyone. We talk about being the maintainer for a project for 14 years, what "maintainer fatigue" is, and how being a maintainer has changed since 2002!

I hope you like it!


.NET Core Console Apps - A Better Way?

Console [UPDATE] After reviewing some of the code and talking with commenters, I agree that using HostServices for console apps is a bad idea. I've refactored this to use the host but not the HostService. I believe that the entire host is still useful for configuration, logging, and DI. See below for the latest changes:

I was at a customer site last week and a lot of their integration code is a set of console apps that are run on timers to import and export data. This isn't an uncommon use-case.

I've got a couple of these lying around myself. I realized that I didn't know of a good exemplar of doing simple console apps using .NET Core in a way that is closer to ASP.NET Core (e.g. dependency injection, lifetime management, cancellation, etc.). So I decided to re-write an old console app I have.


The Maintainers: Brad Wilson and xUnit

The Maintainers I'm continuing the series out open source developers. This week I talk with Brad Wilson of Microsoft about his history with developing xUnit.

We talk about how he does this project while still holding on to a full-time job. He also delves into how CodePlex, OuterCurve, and the .NET Foundation has helped him build xUnit and maintain it all these years.

I hope you like it!