public MultiTenantOAuthOptionsResolver(
     ISiteResolver siteResolver,
     MultiTenantOptions multiTenantOptions)
 {
     this.siteResolver = siteResolver;
     this.multiTenantOptions = multiTenantOptions;
 }
 public MultiTenantFacebookOptionsResolver(
     FacebookAuthenticationOptions originalOptions,
     ISiteResolver siteResolver,
     ISiteRepository siteRepository,
     MultiTenantOptions multiTenantOptions)
 {
     this.originalOptions = originalOptions;
     this.siteResolver = siteResolver;
     this.multiTenantOptions = multiTenantOptions;
     siteRepo = siteRepository;
 }
 public MultiTenantTwitterOptionsResolver(
     TwitterOptions originalOptions,
     ISiteSettings currentSite,
     MultiTenantOptions multiTenantOptions)
 {
     this.originalOptions = originalOptions;
     //this.siteResolver = siteResolver;
     site = currentSite;
     this.multiTenantOptions = multiTenantOptions;
     //siteRepo = siteRepository;
 }
 public MultiTenantGoogleOptionsResolver(
     GoogleOptions originalOptions,
     ISiteResolver siteResolver,
     ISiteRepository siteRepository,
     MultiTenantOptions multiTenantOptions)
 {
     this.originalOptions = originalOptions;
     this.siteResolver = siteResolver;
     this.multiTenantOptions = multiTenantOptions;
     siteRepo = siteRepository;
 }
 public MultiTenantMicrosoftOptionsResolver(
     MicrosoftAccountOptions originalOptions,
     ISiteResolver siteResolver,
     ISiteRepository siteRepository,
     MultiTenantOptions multiTenantOptions)
 {
     this.originalOptions = originalOptions;
     this.siteResolver = siteResolver;
     this.multiTenantOptions = multiTenantOptions;
     siteRepo = siteRepository;
 }
 public MultiTenantOAuthOptionsResolver(
     //ISiteResolver siteResolver,
     IHttpContextAccessor contextAccessor,
     ITenantResolver<SiteSettings> siteResolver,
     MultiTenantOptions multiTenantOptions)
 {
     this.siteResolver = siteResolver;
     this.contextAccessor = contextAccessor;
     //site = currentSite;
     this.multiTenantOptions = multiTenantOptions;
 }
 public MultiTenantMicrosoftOptionsResolver(
     MicrosoftAccountOptions originalOptions,
     //ISiteResolver siteResolver,
     //ISiteRepository siteRepository,
     ISiteSettings currentSite,
     MultiTenantOptions multiTenantOptions)
 {
     this.originalOptions = originalOptions;
     //this.siteResolver = siteResolver;
     site = currentSite;
     this.multiTenantOptions = multiTenantOptions;
     //siteRepo = siteRepository;
 }
 public MultiTenantGoogleOptionsResolver(
     GoogleOptions originalOptions,
     //ISiteResolver siteResolver,
     //ISiteRepository siteRepository,
     ISiteSettings currentSite,
     MultiTenantOptions multiTenantOptions)
 {
     this.originalOptions = originalOptions;
     //this.siteResolver = siteResolver;
     this.multiTenantOptions = multiTenantOptions;
     //siteRepo = siteRepository;
     site = currentSite;
 }
Пример #9
0
        public static IApplicationBuilder UseCloudscribeCoreDefaultAuthentication(
           this IApplicationBuilder builder,
           ILoggerFactory loggerFactory,
           MultiTenantOptions multiTenantOptions,
           SiteContext tenant,
           CookieSecurePolicy applicationCookieSecure = CookieSecurePolicy.SameAsRequest
           )
        {

            var useFolder = !multiTenantOptions.UseRelatedSitesMode
                                        && multiTenantOptions.Mode == cloudscribe.Core.Models.MultiTenantMode.FolderName
                                        && tenant.SiteFolderName.Length > 0;

            var externalCookieOptions = builder.SetupOtherCookies(
                    AuthenticationScheme.External,
                    multiTenantOptions.UseRelatedSitesMode,
                    tenant);
            builder.UseCookieAuthentication(externalCookieOptions);

            var twoFactorRememberMeCookieOptions = builder.SetupOtherCookies(
                AuthenticationScheme.TwoFactorRememberMe,
                multiTenantOptions.UseRelatedSitesMode,
                tenant);
            builder.UseCookieAuthentication(twoFactorRememberMeCookieOptions);

            var twoFactorUserIdCookie = builder.SetupOtherCookies(
                AuthenticationScheme.TwoFactorUserId,
                multiTenantOptions.UseRelatedSitesMode,
                tenant);
            builder.UseCookieAuthentication(twoFactorUserIdCookie);

            //var cookieEvents = new CookieAuthenticationEvents();
            var logger = loggerFactory.CreateLogger<SiteAuthCookieValidator>();
            var cookieValidator = new SiteAuthCookieValidator(logger);
            var appCookieOptions = builder.SetupAppCookie(
                cookieValidator,
                AuthenticationScheme.Application,
                multiTenantOptions.UseRelatedSitesMode,
                tenant,
                applicationCookieSecure
                );
            builder.UseCookieAuthentication(appCookieOptions);

            // known issue here is if a site is updated to populate the
            // social auth keys, it currently requires a restart so that the middleware gets registered
            // in order for it to work or for the social auth buttons to appear 
            builder.UseSocialAuth(tenant, externalCookieOptions, useFolder);


            return builder;
        }
 public MultiTenantEndpointRouter(
     Dictionary<string, EndpointName> pathToNameMap, 
     IdentityServerOptions options, 
     IEnumerable<EndpointMapping> mappings, 
     IOptions<MultiTenantOptions> multiTenantOptionsAccessor,
     ILogger<MultiTenantEndpointRouter> logger
     )
 {
     _pathToNameMap = pathToNameMap;
     _options = options;
     _mappings = mappings;
     _logger = logger;
     multiTenantOptions = multiTenantOptionsAccessor.Value;
 }
 public MultiTenantFacebookOptionsResolver(
     FacebookOptions originalOptions,
     //ISiteResolver siteResolver,
     //IHttpContextAccessor contextAccessor,
     //ITenantResolver<SiteSettings> siteResolver,
     ISiteSettings currentSite,
     //ISiteRepository siteRepository,
     MultiTenantOptions multiTenantOptions)
 {
     this.originalOptions = originalOptions;
     //this.siteResolver = siteResolver;
     //this.contextAccessor = contextAccessor;
     this.multiTenantOptions = multiTenantOptions;
     //siteRepo = siteRepository;
     site = currentSite;
 }