Securing WebAPI with HMAC - Protocol

Paul Hatcher
Posted in Security, Algorithms
I’m working on a project where we are using Azure B2C Active Directory to provide authentication so that we can avoid the security headaches associated with managing a password store for it. Unfortunately, the current implementation doesn’t support .NET Windows applications or standalone services where no user-interface is present - it will eventually, but I can’t wait on the eventual delivery date for these two use-cases. I don’t want to re-introduce user name/password for this, as I’d introduce the same security issues that I was trying to avoid in the first place, but following a bit of research I decided the way forward was HMAC authentication.

NCheck V2.3

Paul Hatcher
Posted in Testing, Patterns
Updated NCheck, my test object comparision helper, to version 2.3 which… Introduces a new technique to wire up conventions Supports multi-threading e.g. test fixtures using NUnit Parallelizable Customizing the CheckerFactory The CheckerFactory has a number conventions which are used to automatically construct Checkers for each class; these conventions can be overridden by the developer if they don’t suit a particular scenario. We support… Type conventions: Applied to all instances of a particular type Property conventions: Applied to properties which satisfy a function e.

NCheck V2.2

Paul Hatcher
Posted in Testing, Patterns
Updated NCheck, my test object comparision helper, to version 2.2 which extends ICheckerFactory to support Compare<T> - this allows us to override checkers on a per-test basis which I’ve found useful on some of my current projects. Customizing the CheckerFactory The CheckerFactory has a number conventions which are used to automatically construct Checkers for each class; these conventions can be overridden by the developer if they don’t suit a particular scenario.

NCheck V2

Paul Hatcher
Posted in Testing, Patterns
Just release V2 of NCheck, my test object comparision helper which tidies up a few things that simplify custom comparisions and excluding properties. Reworked the ITypeCompareTargter/IPropertyCompareTargeter into a a more generic IConvention<Source, Target> Introduced custom comparers and use convention-based registration for them. Retired Exclude, you can now use Compare(x => x.PropertyName).Ignore, unifies the syntax compared to other options.

NCheck: A object comparison helper

Paul Hatcher
Posted in Testing, Patterns
With unit testing one of the precepts is to check one thing in your test, but when you have objects this is difficult to express, since you want to check that the your business process has updated all of the expected properties (positive testing) and also that has not modified things that are not expected to have changed (negative testing). This becomes even more problematic when you have an object graph, e.