public async Task Invoke(HttpContext context, ITraffkTenantFinder traffkTenantFinder) { var authenticateInfo = await context.AuthenticateAsync("Bearer"); var bearerTokenIdentity = authenticateInfo?.Principal; if (bearerTokenIdentity != null) { var currentTenantId = traffkTenantFinder.GetTenantIdAsync().ExecuteSynchronously(); var tenantIdClaim = bearerTokenIdentity.Claims.First(x => x.Properties.Values.Contains(JwtRegisteredClaimNames.Sub)); var tenantIdInToken = int.Parse(tenantIdClaim.Value); if (tenantIdInToken == currentTenantId) { context.User = bearerTokenIdentity; await Next(context); return; } context.Response.StatusCode = StatusCodes.Status401Unauthorized; return; } //No bearer token in use, move on await Next(context); }
public TrackingEmailer(IEmailer emailer, TraffkTenantModelDbContext rdb, ITraffkTenantFinder tenantFinder, ICommunicationBlastFinder blastFinder) { Inner = emailer; Rdb = rdb; TenantFinder = tenantFinder; BlastFinder = blastFinder; TenantId = tenantFinder.GetTenantIdAsync().ExecuteSynchronously(); }
public TenantedBackgroundJobClient(TraffkGlobalDbContext gdb, ITraffkTenantFinder finder, IJobInfoFinder jobInfoFinder = null, ICurrentUser currentUser = null) { Inner = new BackgroundJobClient(); GDB = gdb; Finder = finder; CurrentUser = currentUser; RecurringJobManager = new RecurringJobManager(); TenantId = Finder.GetTenantIdAsync().ExecuteSynchronously(); JobInfoFinder = jobInfoFinder; }
public static int?GetTenantIdOrGlobal(this ITraffkTenantFinder finder) { Requires.NonNull(finder, nameof(finder)); try { return(finder.GetTenantIdAsync().ExecuteSynchronously()); } catch { return(null); } }
public OrchestraApiService(ICacher cache, OrchestraRxApiClient client, ITraffkTenantFinder tenantFinder, ILogger logger, IOptions <Config> options) : base(logger) { var tenantId = tenantFinder.GetTenantIdAsync().Result; ScopedCacher = cache.CreateScope(tenantId); Client = client; var tokenResponse = this.FindOrCreateTokenResponseWithExpiration(); Client.SetToken(tokenResponse); Options = options; }
public CurrentContextServices( ConfigStringFormatter stringer, ITraffkTenantFinder tenantFinder, TraffkTenantModelDbContext rdb, IHttpContextAccessor httpContextAccessor, UserManager <ApplicationUser> userManager, IOptions <TableauSignInOptions> tableauSigninOptions, ITableauAuthorizationService tableauAuthorizationService ) : base(tenantFinder, rdb) { TableauSignInOptions = tableauSigninOptions.Value; Stringer = stringer; TenantFinder = tenantFinder; Rdb = rdb; HttpContextAccessor = httpContextAccessor; UserManager = userManager; TableauAuthorizationService = tableauAuthorizationService; }
public TokenController(IOptions <TokenProviderConfig> options, UserManager <ApplicationUser> userManager, SignInManager <ApplicationUser> signInManager, IUserClaimsPrincipalFactory <ApplicationUser> userClaimsPrincipalFactory, ITraffkTenantFinder traffkTenantFinder, ILogger logger) : base(logger) { Options = options.Value; var signingKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(Options.SecretKey)); SigningCredentials = new SigningCredentials(signingKey, SecurityAlgorithms.HmacSha256); Requires.NonNull(Options.Issuer, nameof(Options.Issuer)); Requires.NonNull(Options.Audience, nameof(Options.Audience)); Requires.True(Options.Expiration > TimeSpan.Zero, nameof(Options.Expiration)); UserManager = userManager; SignInManager = signInManager; UserClaimsPrincipalFactory = userClaimsPrincipalFactory; TraffkTenantFinder = traffkTenantFinder; }
public CurrentTenantServices(ITraffkTenantFinder tenantFinder, TraffkTenantModelDbContext rdb) { TenantFinder = tenantFinder; Rdb = rdb; }
public TableauTenantFinder(IOptions <TenantSettings> options, TraffkTenantModelDbContext rdb, ITraffkTenantFinder traffkTenantFinder) { TraffkTenantId = traffkTenantFinder.GetTenantIdAsync().Result; Options = options; Rdb = rdb; }
public SmtpSettingsAdaptor(ITraffkTenantFinder finder, TraffkTenantModelDbContext rdb) { Finder = finder; Rdb = rdb; }
public TraffkUserStore(ITraffkTenantFinder tenantFinder, TraffkTenantModelDbContext context, IdentityErrorDescriber describer = null) : base(context, describer) { Requires.NonNull(tenantFinder, nameof(tenantFinder)); TenantFinder = tenantFinder; }
public TraffkTenantModelDbContext(DbContextOptions <TraffkTenantModelDbContext> options, ITraffkTenantFinder tenantFinder, ConfigStringFormatter configger) : base(options) { TenantFinder = tenantFinder; Configger = configger; }
public ConfigStringFormatter(ITraffkTenantFinder finder) { Finder = finder; }
public ConfigStringFormatter(ITraffkTenantFinder finder, IHostingEnvironment env) : this(finder) { Env = env; }