One other reader did send yet another interesting question. The conversation started about AspNet Identity, but the question is actually about Owin and how it works.
See this bit of code from HttpContextBaseExtensions
public static IOwinContext GetOwinContext(this HttpContextBase context)
{
IDictionary<string, object> environment = GetOwinEnvironment(context);
if (environment == null)
{
throw new InvalidOperationException(
Microsoft.Owin.Host.SystemWeb.Resources.HttpContext_OwinEnvironmentNotFound);
}
return new OwinContext(environment);
}