Files
opencloud/services/groupware
Pascal Bleser c400949718 groupware: add OIDC authentication support between Groupware backend and Stalwart
* 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
2026-04-30 10:51:44 +02:00
..

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.)