protected override async Task <AuthenticationTicket> AuthenticateCore() { _logger.WriteVerbose("AuthenticateCore"); IDictionary <string, string> cookies = Request.GetCookies(); string cookie; if (!cookies.TryGetValue(Options.CookieName, out cookie)) { _logger.WriteWarning("No cookie found"); return(null); } AuthenticationTicket model = Options.TicketDataHandler.Unprotect(cookie); if (model == null) { _logger.WriteWarning("null model"); return(null); } DateTimeOffset currentUtc = Options.SystemClock.UtcNow; DateTimeOffset?issuedUtc = model.Extra.IssuedUtc; DateTimeOffset?expiresUtc = model.Extra.ExpiresUtc; if (expiresUtc != null && expiresUtc.Value < currentUtc) { return(null); } if (issuedUtc != null && expiresUtc != null && Options.SlidingExpiration) { TimeSpan timeElapsed = currentUtc.Subtract(issuedUtc.Value); TimeSpan timeRemaining = expiresUtc.Value.Subtract(currentUtc); if (timeRemaining < timeElapsed) { _shouldRenew = true; _renewIssuedUtc = currentUtc; TimeSpan timeSpan = expiresUtc.Value.Subtract(issuedUtc.Value); _renewExpiresUtc = currentUtc.Add(timeSpan); } } var context = new FormsValidateIdentityContext(model); await Options.Provider.ValidateIdentity(context); return(new AuthenticationTicket(context.Identity, context.Extra)); }
protected override async Task <AuthenticationTicket> AuthenticateCore() { IDictionary <string, string> cookies = Request.GetCookies(); string cookie; if (!cookies.TryGetValue(Options.CookieName, out cookie)) { return(null); } var model = Options.TicketDataHandler.Unprotect(cookie); if (model == null) { return(null); } DateTimeOffset currentUtc = DateTimeOffset.UtcNow; DateTimeOffset?issuedUtc = model.Extra.IssuedUtc; DateTimeOffset?expiresUtc = model.Extra.ExpiresUtc; if (expiresUtc != null && expiresUtc.Value < currentUtc) { return(null); } if (issuedUtc != null && expiresUtc != null && Options.SlidingExpiration) { var timeElapsed = currentUtc.Subtract(issuedUtc.Value); var timeRemaining = expiresUtc.Value.Subtract(currentUtc); if (timeRemaining < timeElapsed) { _shouldRenew = true; _renewIssuedUtc = currentUtc; var timeSpan = expiresUtc.Value.Subtract(issuedUtc.Value); _renewExpiresUtc = currentUtc.Add(timeSpan); } } var command = new FormsValidateIdentityContext(model); if (Options.Provider != null) { await Options.Provider.ValidateIdentity(command); } return(new AuthenticationTicket(command.Identity, command.Extra)); }
public Task ValidateIdentity(FormsValidateIdentityContext context) { return TaskAsyncHelper.Empty; }
public virtual Task ValidateIdentity(FormsValidateIdentityContext context) { return(OnValidateIdentity.Invoke(context)); }
public virtual Task ValidateIdentity(FormsValidateIdentityContext context) { return OnValidateIdentity.Invoke(context); }