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..6fc42ac 100644
--- a/MidrandBooksApi/Program.cs
+++ b/MidrandBooksApi/Program.cs
@@ -11,10 +11,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..c2110f2 100644
--- a/MidrandBooksApi/appsettings.json
+++ b/MidrandBooksApi/appsettings.json
@@ -1,4 +1,11 @@
{
+ "AuthentikSettings": {
+ "Authority": "https://id.khongisa.co.za/application/o/midrand-books-api-uat/",
+ "IntrospectionUrl": "https://id.khongisa.co.za/application/o/introspect/",
+ "RequiredClaimName": "scope",
+ "RequiredClaimNameValue": "openid",
+ "RequireHttpsMetadata": true
+ },
"ValidPayfastHosts": [
"www.payfast.co.za",
"sandbox.payfast.co.za",
diff --git a/midrandbooksapi-uat.yml b/midrandbooksapi-uat.yml
index 50e5033..15a663a 100644
--- a/midrandbooksapi-uat.yml
+++ b/midrandbooksapi-uat.yml
@@ -26,6 +26,11 @@ data:
ValidPayfastHosts__4: "ips.payfast.co.za"
ValidPayfastHosts__5: "api.payfast.co.za"
ValidPayfastHosts__6: "payment.payfast.io"
+ AuthentikSettings__Authority: "https://id.khongisa.co.za/application/o/midrand-books-api-uat/"
+ AuthentikSettings__IntrospectionUrl: "https://id.khongisa.co.za/application/o/introspect/"
+ AuthentikSettings__RequiredClaimName: "scope"
+ AuthentikSettings__RequiredClaimNameValue: "openid"
+ AuthentikSettings__RequireHttpsMetadata: "true"
---
apiVersion: v1
kind: Secret
@@ -41,6 +46,8 @@ data:
hasher-payfastpassphrase: OUdBSVIwdFdwaFgwcU8=
bookshop-s3-accesskey: R0s1MTRkMmNlOGRjNjkyMzdhMDVjMDFlZWY=
bookshop-s3-secretkey: ZWFhZmVkYTFhZWQ0MDllY2ZlNjA3MTRlY2RhNTQ5YjgyYmRmNWEzZGFmOWYxOGRkNjFmNjZiNDk3M2E2NDgyZQ==
+ authentik-clientid: aTZ5Z3I4NEhsbmh4RllxTEpWSjJIaGRsVnJPWUU0UG51clQ1Y1BRVw==
+ authentik-clientsecret: dHZQVU0zVnFmazJzcmE5OXM5bE4zWWxpMHlsYUdUNnZiUUJxZkg3S3ZTSWJUZUo2ZFpHQjEyTlc0TXhxRERXSmV4UDd2WGZqVEFadFIzajNpdkQ2Y1RKcjV4UTlTNHJwRm5TZlk0Rmk2OVJOd1J2S0hqOGhWcmQzd29icTZPREc=
---
apiVersion: v1
kind: PersistentVolumeClaim