public async Task Invoke(HttpContext httpContext) { if (httpContext == null) { throw new ArgumentNullException(nameof(httpContext)); } string apiKey; if (TryGetApiKey(httpContext.Request, out apiKey)) { var userName = await _octopusAuthenticationProxy.ValidateApiKey(apiKey); if (!string.IsNullOrEmpty(userName)) { var principal = ClaimsPrincipalHelpers.CreatePrincipal(userName, apiKey); httpContext.User = principal; } } await _next.Invoke(httpContext); }
public Task Invoke(HttpContext httpContext) { if (httpContext == null) { throw new ArgumentNullException(nameof(httpContext)); } string apiKey; if (TryGetApiKey(httpContext.Request, out apiKey)) { string userName; if (_octopusAuthenticationProxy.ValidateApiKey(apiKey, out userName)) { var principal = ClaimsPrincipalHelpers.CreatePrincipal(userName, apiKey); httpContext.User = principal; Thread.CurrentPrincipal = principal; } } return(_next.Invoke(httpContext)); }