public async Task Invoke(IDictionary <string, object> env) { var context = new OwinContext(env); if (context.Authentication != null && context.Authentication.User != null) { var transformedPrincipal = await _options.ClaimTransformation(context.Authentication.User); context.Authentication.User = transformedPrincipal; } await _next(env); }