diff --git a/MidrandBooksApi/MidrandBooksApi.csproj b/MidrandBooksApi/MidrandBooksApi.csproj index 6a4aed9..7601a3a 100644 --- a/MidrandBooksApi/MidrandBooksApi.csproj +++ b/MidrandBooksApi/MidrandBooksApi.csproj @@ -54,13 +54,13 @@ - + - + diff --git a/MidrandBooksApi/Payments/Endpoints/IdentityEndpoint.cs b/MidrandBooksApi/Payments/Endpoints/IdentityEndpoint.cs new file mode 100644 index 0000000..8276498 --- /dev/null +++ b/MidrandBooksApi/Payments/Endpoints/IdentityEndpoint.cs @@ -0,0 +1,23 @@ +using LiteCharms.Features.Abstractions; +using LiteCharms.Features.Api; +using LiteCharms.Features.Extensions; + +namespace MidrandBooksApi.Payments.Endpoints; + +[ApiVersionTarget(1)] +public class IdentityEndpoint : IEndpoint +{ + public void Map(IEndpointRouteBuilder builder) + { + builder.MapGet("security/test", () => + { + return Results.Ok(); + }) + .RequireAuthorization() + .WithDescription("Security test endpoint") + .WithName(typeof(IdentityEndpoint).ToEndpointName()) + .Produces(StatusCodes.Status200OK) + .WithTags("Security") + .MapToApiVersion(1); + } +} diff --git a/MidrandBooksApi/Program.cs b/MidrandBooksApi/Program.cs index 5df7539..b48974c 100644 --- a/MidrandBooksApi/Program.cs +++ b/MidrandBooksApi/Program.cs @@ -1,6 +1,8 @@ +using LiteCharms.Features.Api.Configuration; using LiteCharms.Features.Extensions; using LiteCharms.Features.Mediator; using LiteCharms.Features.MidrandBooks.Extensions; +using Microsoft.Extensions.Options; using static LiteCharms.Features.Extensions.Quartz; var builder = WebApplication.CreateBuilder(args); @@ -11,10 +13,8 @@ builder.Services.AddEndpointsApiExplorer(); builder.Services.AddEndpoints(Assembly.GetExecutingAssembly()); builder.Services.AddApiServices(builder.Configuration); -builder.Services.AddAuthorization(); -builder.Services.AddAuthentication(); - builder.Services.AddMediator(); +builder.Services.AddAuthentic(builder.Configuration); builder.Services.AddScoped(typeof(IPipelineBehavior<,>), typeof(TelemetryPipelineBehavior<,>)); builder.Services.AddScoped(typeof(IPipelineBehavior<,>), typeof(LoggingPipelineBehavior<,>)); diff --git a/MidrandBooksApi/appsettings.json b/MidrandBooksApi/appsettings.json index b872baf..181de06 100644 --- a/MidrandBooksApi/appsettings.json +++ b/MidrandBooksApi/appsettings.json @@ -1,4 +1,13 @@ { + "AuthentikSettings": { + "Authority": "https://id.khongisa.co.za/application/o/midrand-books-api-uat/", + "IntrospectionUrl": "https://id.khongisa.co.za/application/o/introspect/", + "ApiResourceName": "i6ygr84HlnhxFYqLJVJ2HhdlVrOYE4PnurT5cPQW", + "ApiResourceSecret": "tvPUM3Vqfk2sra99s9lN3Yli0ylaGT6vbQBqfH7KvSIbTeJ6dZGB12NW4MxqDDWJexP7vXfjTAZtR3j3ivD6cTJr5xQ9S4rpFnSfY4Fi69RNwRvKHj8hVrd3wobq6ODG", + "RequiredClaimName": "scope", + "RequiredClaimNameValue": "openid", + "RequireHttpsMetadata": true + }, "ValidPayfastHosts": [ "www.payfast.co.za", "sandbox.payfast.co.za",