protected override async Task <AuthenticationTicket> AuthenticateCoreAsync()
        {
            if (string.IsNullOrEmpty(Context.Request.User.Identity.Name))
            {
                Context.Response.StatusCode = 401;
                return(null);
            }

            AuthenticationProperties properties = UnpackStateParameter(Request.Query);

            // var authorizationHeader = Request.Headers["Authorization"];

            try
            {
                // var windowsIdentity = System.Security.Principal.WindowsIdentity.GetCurrent();
                ClaimsIdentity windowsIdentity = (ClaimsIdentity)Context.Request.User.Identity;

                var context = new WindowsAuthenticatedContext(Context, windowsIdentity, properties);

                await Options.Provider.Authenticate(context);

                return(new AuthenticationTicket(windowsIdentity, properties));
            }
            catch (Exception)
            {
                return(new AuthenticationTicket(null, (AuthenticationProperties)null));
            }
        }
 public virtual Task Authenticate(WindowsAuthenticatedContext context)
 {
     return(OnAuthenticated(context));
 }
 public virtual Task Authenticate(WindowsAuthenticatedContext context)
 {
     return OnAuthenticated(context);
 }