public bool Authenticate(HttpContext context, out HttpAuthenticationRequest request)
        {
            request = null;
            if (!context.Request.Headers.TryGetValue(SystemHeaders.TrustedAuth, out var values))
            {
                return(false);
            }
            request = new HttpAuthenticationRequest(context, null, null);
            var principal = CreatePrincipal(values[0]);

            if (principal != null)
            {
                request.Authenticated(principal);
            }
            else
            {
                request.Unauthorized();
            }
            return(true);
        }