Exemple #1
0
        private CookieAuthenticationOptions SetupAppCookie(
            // CookieAuthenticationOptions options,
            CookieAuthenticationEvents cookieEvents,
            cloudscribe.Core.Identity.SiteAuthCookieValidator siteValidator,
            string scheme,
            cloudscribe.Core.Models.SiteSettings tenant
            )
        {
            var options = new CookieAuthenticationOptions();

            options.AuthenticationScheme = $"{scheme}-{tenant.SiteFolderName}";
            options.CookieName           = $"{scheme}-{tenant.SiteFolderName}";
            options.CookiePath           = "/" + tenant.SiteFolderName;

            var tenantPathBase = string.IsNullOrEmpty(tenant.SiteFolderName)
                ? PathString.Empty
                : new PathString("/" + tenant.SiteFolderName);

            options.LoginPath  = tenantPathBase + "/account/login";
            options.LogoutPath = tenantPathBase + "/account/logoff";

            cookieEvents.OnValidatePrincipal = siteValidator.ValidatePrincipal;
            options.Events = cookieEvents;

            options.AutomaticAuthenticate = true;
            options.AutomaticChallenge    = true;

            return(options);
        }
Exemple #2
0
        private CookieAuthenticationOptions SetupOtherCookies(
            string scheme,
            bool useRelatedSitesMode,
            cloudscribe.Core.Models.SiteSettings tenant
            )
        {
            var options = new CookieAuthenticationOptions();

            if (useRelatedSitesMode)
            {
                options.AuthenticationScheme = scheme;
                options.CookieName           = scheme;
                options.CookiePath           = "/";
            }
            else
            {
                options.AuthenticationScheme = $"{scheme}-{tenant.SiteFolderName}";
                options.CookieName           = $"{scheme}-{tenant.SiteFolderName}";
                options.CookiePath           = "/" + tenant.SiteFolderName;
            }

            options.AutomaticAuthenticate = false;

            // should we do this for external cookies?
            //options.CookieSecure = environment.IsDevelopment()
            //? CookieSecurePolicy.SameAsRequest
            //: CookieSecurePolicy.Always;

            return(options);
        }
Exemple #3
0
        private CookieAuthenticationOptions SetupAppCookie(
            CookieAuthenticationEvents cookieEvents,
            cloudscribe.Core.Identity.SiteAuthCookieValidator siteValidator,
            string scheme,
            bool useRelatedSitesMode,
            cloudscribe.Core.Models.SiteSettings tenant
            )
        {
            var options = new CookieAuthenticationOptions();

            if (useRelatedSitesMode)
            {
                options.AuthenticationScheme = scheme;
                options.CookieName           = scheme;
                options.CookiePath           = "/";
            }
            else
            {
                options.AuthenticationScheme     = $"{scheme}-{tenant.SiteFolderName}";
                options.CookieName               = $"{scheme}-{tenant.SiteFolderName}";
                options.CookiePath               = "/" + tenant.SiteFolderName;
                cookieEvents.OnValidatePrincipal = siteValidator.ValidatePrincipal;
            }

            var tenantPathBase = string.IsNullOrEmpty(tenant.SiteFolderName)
                ? PathString.Empty
                : new PathString("/" + tenant.SiteFolderName);

            options.LoginPath        = tenantPathBase + "/account/login";
            options.LogoutPath       = tenantPathBase + "/account/logoff";
            options.AccessDeniedPath = tenantPathBase + "/account/accessdenied";

            options.Events = cookieEvents;

            options.AutomaticAuthenticate = true;
            options.AutomaticChallenge    = false;

            options.CookieSecure = environment.IsDevelopment()
            ? CookieSecurePolicy.SameAsRequest
            : CookieSecurePolicy.Always;



            return(options);
        }
Exemple #4
0
        private CookieAuthenticationOptions SetupOtherCookies(
            //CookieAuthenticationOptions options,
            string scheme,
            cloudscribe.Core.Models.SiteSettings tenant
            )
        {
            var options = new CookieAuthenticationOptions();

            //var tenantPathBase = string.IsNullOrEmpty(tenant.SiteFolderName)
            //    ? PathString.Empty
            //    : new PathString("/" + tenant.SiteFolderName);

            options.AuthenticationScheme = $"{scheme}-{tenant.SiteFolderName}";
            options.CookieName           = $"{scheme}-{tenant.SiteFolderName}";
            options.CookiePath           = "/" + tenant.SiteFolderName;

            return(options);
        }
Exemple #5
0
        private CookieAuthenticationOptions SetupOtherCookies(
            string scheme,
            bool useRelatedSitesMode,
            cloudscribe.Core.Models.SiteSettings tenant
            )
        {
            var options = new CookieAuthenticationOptions();

            if (useRelatedSitesMode)
            {
                options.AuthenticationScheme = scheme;
                options.CookieName           = scheme;
                options.CookiePath           = "/";
            }
            else
            {
                options.AuthenticationScheme = $"{scheme}-{tenant.SiteFolderName}";
                options.CookieName           = $"{scheme}-{tenant.SiteFolderName}";
                options.CookiePath           = "/" + tenant.SiteFolderName;
            }

            return(options);
        }