private async Task AddClient(StartupClientData client, bool isVip = false)
        {
            using (var scope = _services.GetRequiredService <IServiceScopeFactory>().CreateScope())
            {
                var manager = scope.ServiceProvider.GetRequiredService <OpenIddictApplicationManager <OpenIddictApplication> >();

                if (await manager.FindByClientIdAsync(client.ClientId) == null)
                {
                    var descriptor = new OpenIddictApplicationDescriptor
                    {
                        ClientId     = client.ClientId,
                        ClientSecret = client.ClientSecret,
                        DisplayName  = client.DisplayName,
                        Permissions  =
                        {
                            //OpenIddictConstants.Permissions.Endpoints.Authorization,
                            OpenIddictConstants.Permissions.Endpoints.Token,
                            //OpenIddictConstants.Permissions.Endpoints.Logout,
                            OpenIddictConstants.Permissions.Scopes.Email,
                            OpenIddictConstants.Permissions.Scopes.Profile,
                            OpenIddictConstants.Permissions.Scopes.Roles,
                            OpenIddictConstants.Permissions.GrantTypes.ClientCredentials,
                        }
                    };

                    if (isVip)
                    {
                        descriptor.Permissions.Add($"{OpenIddictConstants.Permissions.Prefixes.Scope}is_vip");
                    }

                    await manager.CreateAsync(descriptor);
                }
            }
        }
        public async Task SeedClients()
        {
            await AddClient(
                StartupClientData.CreateTestClient(
                    "hpc-client",
                    "HPC Client 1"));

            await AddClient(
                StartupClientData.CreateTestClient(
                    "hpc-client-vip",
                    "HPC Client VIP"),
                true);
        }