using System.Threading.Tasks; using Microsoft.Extensions.Configuration; using Sozsoft.Mcp.Services; using Volo.Abp.Data; using Volo.Abp.DependencyInjection; namespace Sozsoft.Mcp.Data; /// /// Bilinen MCP istemcisini () seed eder. Geri donus /// adresleri OpenIddict:Applications:Platform_Mcp:RedirectUris ayarindadir; yeni bir /// saglayici eklemek bu listeye callback eklemektir. /// public class McpOAuthClientDataSeedContributor( IConfiguration configuration, IMcpOAuthClientManager clientManager) : IDataSeedContributor, ITransientDependency { private const string RedirectUrisKey = "OpenIddict:Applications:Platform_Mcp:RedirectUris"; public async Task SeedAsync(DataSeedContext context) { // OpenIddict uygulamalari host kapsamindadir; kiraci seed turlarinda tekrarlanmaz. if (context.TenantId is not null) { return; } var redirectUris = configuration.GetSection(RedirectUrisKey).Get(); if (redirectUris is null || redirectUris.Length == 0) { return; } await clientManager.EnsureKnownClientAsync(redirectUris); } }