Files
Musify/Infrastructure/Identity/KeycloakDependencyInjection.cs
T
2026-03-19 10:41:32 +01:00

25 lines
994 B
C#

using Keycloak.Net;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Musify.Application.Contracts.Infrastructure;
using Musify.Infrastructure.Configuration;
namespace Musify.Infrastructure.Identity
{
public static class KeycloakDependencyInjection
{
public static void AddKeycloakAuthentication(this IServiceCollection serviceDescriptors, IConfiguration configuration)
{
var keycloakConfiguration = KeycloakConfiguration.Load(configuration);
serviceDescriptors.AddSingleton(keycloakConfiguration);
serviceDescriptors.AddScoped(serviceProvider =>
{
return new KeycloakClient(
keycloakConfiguration.BaseUrl,
keycloakConfiguration.Username,
keycloakConfiguration.Password);
} );
serviceDescriptors.AddScoped<IKeycloakUserClient, KeycloakIdentityService>();
}
}
}