public BffIntegrationTestBase() { IdentityServerHost = new IdentityServerHost(); IdentityServerHost.Clients.Add(new Client { ClientId = "spa", ClientSecrets = { new Secret("secret".Sha256()) }, AllowedGrantTypes = GrantTypes.CodeAndClientCredentials, RedirectUris = { "https://app/signin-oidc" }, PostLogoutRedirectUris = { "https://app/signout-callback-oidc" }, BackChannelLogoutUri = "https://app/bff/backchannel", AllowOfflineAccess = true, AllowedScopes = { "openid", "profile", "scope1" } }); IdentityServerHost.OnConfigureServices += services => { services.AddTransient <IBackChannelLogoutHttpClient>(provider => new DefaultBackChannelLogoutHttpClient(BffHost.HttpClient, provider.GetRequiredService <ILoggerFactory>())); }; IdentityServerHost.InitializeAsync().Wait(); ApiHost = new ApiHost(IdentityServerHost, "scope1"); ApiHost.InitializeAsync().Wait(); BffHost = new BffHost(IdentityServerHost, ApiHost, "spa"); BffHost.InitializeAsync().Wait(); }
public ApiHost(IdentityServerHost identityServerHost, string scope, string baseAddress = "https://api", bool useForwardedHeaders = false) : base(baseAddress) { _identityServerHost = identityServerHost; _useForwardedHeaders = useForwardedHeaders; _identityServerHost.ApiScopes.Add(new ApiScope(scope)); OnConfigureServices += ConfigureServices; OnConfigure += Configure; }