Пример #1
0
        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();
        }
Пример #2
0
        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;
        }