protected override async Task HandleSignOutAsync(SignOutContext signOutContext) { // Process the request cookie to initialize members like sessionKey. var ticket = await EnsureCookieTicket(); var cookieOptions = BuildCookieOptions(); if (Options.SessionStore != null && sessionKey != null) { await Options.SessionStore.RemoveAsync(sessionKey); } var context = new SidSigningOutContext( Context, Options, new AuthenticationProperties(signOutContext.Properties), cookieOptions); await Options.Events.SigningOut(context); Options.CookieManager.DeleteCookie( Context, Options.CookieName, context.CookieOptions); ApplyHeaders(context.Properties); }
/// <summary> /// Implements the interface method by invoking the related delegate method. /// </summary> /// <param name="context"></param> public virtual Task SigningOut(SidSigningOutContext context) => OnSigningOut(context);