* re-implement the auth-api service to authenticate Reva tokens following the OIDC Userinfo endpoint specification * pass the context where necessary and add an authenticator interface to the JMAP HTTP driver, in order to select between master authentication (which is used when GROUPWARE_JMAP_MASTER_USERNAME and GROUPWARE_JMAP_MASTER_PASSWORD are both set) and OIDC token forwarding through bearer auth * add Stalwart directory configuration "idmoidc" which uses the OpenCloud auth-api service API (/auth/) to validate the token it received as bearer auth from the Groupware backend's JMAP client, using it as an OIDC Userinfo endpoint * implement optional additional shared secret to secure the Userinfo service, as an additional path parameter
Groupware
The OpenCloud Groupware service provides a REST API for performing all the backend operations needed by the OpenCloud Groupware frontends.
OpenAPI Documentation
To generate the OpenAPI ("Swagger") documentation of the REST API, pnpm is a pre-requisite,
as well as the groupware-apidocs tool.
After building and installing groupware-apidocs somewhere in your PATH,
run the following command in this directory to generate the swagger.yml OpenAPI definition file:
make apidoc
To generate a static HTML file using Redocly, which will generate a file api.html:
make apidoc-static
Favicon
A favicon is inserted into the static (Redocly) HTML file as part of the build process in the Makefile, using favicon.png as the source, computing its base64 to insert it as an image using a data URL in order to embed it.
That is performed by the script apidoc-postprocess-html.ts (which is done automatically when using then Makefile as described above.)