diff --git a/compose.yaml b/compose.yaml index da8b72e..0be3049 100644 --- a/compose.yaml +++ b/compose.yaml @@ -10,4 +10,4 @@ services: ports: - "8080:8080" volumes: - - ./ssh-key-provider/target/ssh-key-provider-1.0-SNAPSHOT.jar:/opt/keycloak/providers/ssh-key-provider.jar \ No newline at end of file + - ./local-dev/providers/:/opt/keycloak/providers/ diff --git a/local-dev/.gitkeep b/local-dev/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/local-dev/providers/.gitkeep b/local-dev/providers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/ssh-key-provider/src/main/java/de/ccc/hamburg/keycloak/ssh_key/SSHKeyResourceProvider.java b/ssh-key-provider/src/main/java/de/ccc/hamburg/keycloak/ssh_key/SSHKeyResourceProvider.java index fb5c2d4..1510489 100644 --- a/ssh-key-provider/src/main/java/de/ccc/hamburg/keycloak/ssh_key/SSHKeyResourceProvider.java +++ b/ssh-key-provider/src/main/java/de/ccc/hamburg/keycloak/ssh_key/SSHKeyResourceProvider.java @@ -6,7 +6,6 @@ import java.util.stream.Stream; import org.jboss.logging.Logger; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; -import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.Response; import jakarta.ws.rs.core.MediaType; @@ -36,9 +35,19 @@ public class SSHKeyResourceProvider implements RealmResourceProvider { } @GET - @Path("export/{group_id}") + @Path("hello") @Produces(MediaType.APPLICATION_JSON) - public Response exportKeys(@PathParam("group_id") String groupId) { + @Operation(summary = "Public hello endpoint", description = "This endpoint returns hello and the name of the requested realm.") + @APIResponse(responseCode = "200", description = "", content = { + @Content(schema = @Schema(implementation = Response.class, type = SchemaType.OBJECT)) }) + public Response helloAnonymous() { + return Response.ok(Map.of("hello", session.getContext().getRealm().getName())).build(); + } + + @GET + @Path("hello-auth") + @Produces(MediaType.APPLICATION_JSON) + public Response helloAuthenticated() { UserProvider userProvider = session.users(); try { @@ -46,8 +55,7 @@ public class SSHKeyResourceProvider implements RealmResourceProvider { authResult -> authResult.getToken().getIssuedFor().equals("admin-cli")); RealmModel realm = session.getContext().getRealm(); - // TODO: add allowlist check - GroupModel group = realm.getGroupById(groupId); + GroupModel group = realm.getGroupById("fbf5f78b-d2be-49dd-b04f-11a5e8ee583f"); LOG.info(String.format("Getting Users from Group \"%s\" with ID %s", group.getName(), group.getId()));