Stephan van Rooij

Software architect with a passion for home automation.

Every project needs a badge

E

You just created a new open-source project. Great, you rock! A lot of repositories have these nice images showing dynamic details of the repository. How does that work? By using these dynamic badges you can really make your repository stand out.

LinkedIn Profile Twitter follow Link Mastodon Blog

Proof of concept: Multi tenant managed identity

P

Ever since Microsoft created managed identities, people are asking how/if they work for multi-tenant applications. They even spend a faq on it.

In my previous post I wrote that it was possible to use a managed identity to get access tokens for some multi tenant application, if you haven’t seen that post be sure to check it out since this post uses the knowlage from that post to demo the process.

Hacking Primary refresh tokens, oops created a virus

H

Windows has some cleaver ways to handle SSO in combination with Azure AD. They use this so called Primary Refresh Token. These highly sensitive key materials, are usually stored in the systems TPM (trusted platform module), a hardware device that can protect keys. And are “unlocked” when the user logs in.

A post, by Lee Christensen and the accompanying RequestAADRefreshToken source, inspired me to check out what he had found.

Cancellable task with timeout

C

Don’t you like the async and await way of asynchronously programming in C#? I can tell you I like them a lot. Recently I came across a case where I wanted to add a timeout to an asynchronous task.

My open-source projects

My github repositories, last edited first.

A dotnet tool for parsing rss feeds and modifying a markdown file
A Teams app showing all your assigned and provisioned apps (no production!)
HTML 0 0
:speaker: Sonos control library, use this library in your own appliction.
TypeScript 64 13
Publish data from your Smart meter with a P1 interface to you MQTT server.
TypeScript 27 6
Control Sonos from dotnet
🔊 📖 Sonos api documentation for the local UPNP api and a generator to generate clients based on service discovery
TypeScript 19 7
Sonos2mqtt companion for Home Assistant
Python 4 0
:speaker: Sonos mqtt controller. Control your speakers from your mqtt server. mqtt-smarthome insprired.
TypeScript 61 17
Demo speed increase with batching for the Microsoft Graph API
HTML 3 0
Some usefull PowerShell snippets collected
PowerShell 4 0