TaskTide - Web API Lib¶
Provides a Jakarta-RESTful API interface, with embedded Jersey Glassfish web-server, for interacting with TaskTide components. Primarily focused on TaskTide-Manager API, explictly through the ManagerCommand interface as well each of core the Workflow, Step, and Work Item services and secondary Job Environment, Metric Data, and Metric Profile services.
Library uses an AuthenticationScheme strategy to orchestrate how this is handled for different use-cases, unit-testing Embedded Auth Scheme, OIDC Auth Scheme, and No Auth Scheme. An AuthenticationFilter implements Jakartas ContainerRequestFilter hook to fetch the configured scheme, and process incoming requests according to the scheme.
The library leverages data models spec'd to standardized security practices. AuthPrincipal implements Java's Principal API as the referential class for REST resources. JwtSecurityContext implements Jakarta Security Context as a means to standardize evaluations of user principals in JWT format.
Hateoas request hook, and data point specific security contexts are templated for their incoporation into version-2. As having the RESTful API by iteself was relevant for TaskTides deployment use-case.