public async Task ValidatePrincipal(CookieValidatePrincipalContext context) { // TODO: uncomment this after next release of aspnet core // and fix the broken // it needs to resolve options per tenant //await securityStampValidator.ValidateAsync(context); TenantContext<SiteSettings> siteContext = await siteResolver.ResolveAsync(contextAccessor.HttpContext); if (siteContext == null) { context.RejectPrincipal(); } if (siteContext.Tenant == null) { context.RejectPrincipal(); } Claim siteGuidClaim = new Claim("SiteGuid", siteContext.Tenant.SiteGuid.ToString()); if (!context.Principal.HasClaim(siteGuidClaim.Type, siteGuidClaim.Value)) { log.LogInformation("rejecting principal because it does not have siteguid"); context.RejectPrincipal(); } // return Task.FromResult(0); }
public async Task ValidateAsync(CookieValidatePrincipalContext context) { string userId = context.Principal.GetUserId(); var principal = await ValidateSecurityStamp(context.Principal, userId); if (principal != null) { context.ReplacePrincipal(principal); context.ShouldRenew = true; } else { context.RejectPrincipal(); await context.HttpContext.Authentication.LogOffAsync(Options); } }
public async Task ValidatePrincipal(CookieValidatePrincipalContext context) { await securityStampValidator.ValidateAsync(context); ISiteSettings site = siteResolver.Resolve(); if (site == null) { context.RejectPrincipal(); } Claim siteGuidClaim = new Claim("SiteGuid", site.SiteGuid.ToString()); if (!context.Principal.HasClaim(siteGuidClaim.Type, siteGuidClaim.Value)) { log.LogInformation("rejecting principal because it does not have siteguid"); context.RejectPrincipal(); } // return Task.FromResult(0); }