I'm not sure if there's a reason for this behaviour, but I'm using the MicrosoftAccountAuthenticationMiddleware and implementing a custom handler in OnAuthenticated. However, context.Properties is null at this point which means I can't maintain any custom state across the authentication process without doing something like manually creating and deleting cookies.
It appears to be a pretty simple thing in MicrosoftAccountAuthenticationHandler.cs to swap lines 124 and 126 around so that the properties are set on the context before OnAuthenticated is called.